Goldman Sachs Interview Question
Software Engineer / Developers// LCD segment definitions.
// These will need to be changed depending on the
// wiring of your output port to the segements.
#define a 0x01
#define b 0x10
#define c 0x02
#define d 0x20
#define e 0x04
#define f 0x40
#define g 0x08
#define h 0x80
// LCD Character Generator (stored in Flash).
// Change these defines as needed to make new characters.
const char char_gen[] = {
a+b+c+d+e+f, // Displays "0"
b+c, // Displays "1"
a+b+d+e+g, // Displays "2"
a+b+c+d+g, // Displays "3"
b+c+f+g, // Displays "4"
a+c+d+f+g, // Displays "5"
a+c+d+e+f+g, // Displays "6"
a+b+c, // Displays "7"
a+b+c+d+e+f+g, // Displays "8"
a+b+c+d+f+g, // Displays "9"
a+b+c+e+f+g, // Displays "A"
0x00, // Displays Blank
a+d+e+f, // Displays "C"
a+b+f+g, // Displays "degrees" o
a+d+e+f+g, // Displays "E"
a+e+f+g // Displays "F"
};
#undef a
#undef b
#undef c
#undef d
#undef e
#undef f
#undef g
#undef h
#include<iostream>
using namespace std;
int main(int argc,char *argv[]){
cout<<"Please enter a single digit\n";
char digit = cin.get();
switch(digit){
case '1':
cout<<"|\n|"<<endl;
break;
case '7':
cout<<"_\n |\n |"<<endl;
break;
case '4':
cout<<"|_|\n |"<<endl;
break;
case '0':
cout<<" _\n| |\n|_| "<<endl;
break;
case '6':
cout<<" _\n|_\n|_|"<<endl;
break;
case '3':
cout<<"_\n_|\n_|"<<endl;
break;
case '9':
cout<<" _\n|_|\n _|"<<endl;
break;
case '8':
cout<<" _\n|_|\n|_| "<<endl;
break;
case '5':
cout<<" _\n|_\n _|"<<endl;
break;
case '2':
cout<<" _\n _|\n|_"<<endl;
break;
default:
cout<<"Please enter a valid digit"<<endl;
}
return 0;
}
- Anonymous January 02, 2012