ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1043
1043
EMPFEHLEN
-
vielleicht kann mir hier ja jemand helfen... sehe gerade nicht durch...
unsere aufgabe ist:
Erstellen Sie ein ausführlich dokumentiertes C-Programm, das folgendes leistet:
Der Benutzer soll erst eine positive ganze Zahl, die als Programmstatuswort zu interpretieren ist, einlesen.
Anschließend soll er folgende Menüpunkte angeboten bekommen
a) Statusbits setzen (Bits in einzulesendem Positionsbereich auf 1 setzen)
b) Statusbits zurücksetzen (Bits in einzulesendem Positionsbereich auf 0 setzen)
c) Statusbits umkippen (Bits in einzulesendem Positionsbereich von 0 auf 1 und von 1 auf 0 setzen.)
d) Statuswort bitweise ausgeben
e) Ende
Verwenden Sie für diese Aufgaben immer, wo es möglich ist, Bitoperationen. Es dürfen keine Vektoren verwandt werden.
mein code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
/* Binärzahlen Erstellungsdatum: 09.04.05 */ #include<stdio.h> main(){ int istatuswort1=0, istatuswort2=0, itemp=0; int ibereichanf=0, ibereichende=0; char cmenuewahl=' '; int iende=0, ianz, i; printf ("Programm zur Ausgabe einer Dezimalzahl in Binaerdarstellung.\n" "Zusaetzlich Bitoperationen ausfuerbar!\n"); fflush(stdin); printf ("Bitte geben Sie eine ganze Zahl ein\n"); scanf("%d", &istatuswort1); do { prinftf(" Menue\n" "________\n\n\n" "a) Statusbits setzen (auf 1)\n" "b) Statusbits zuruecksetzen (auf 0 setzen)\n" "c) Statusbits umkippen\n" "d) Statuswort bitweise ausgeben\n" "e) Ende\n\n"); fflush(stdin); cmenuewahl=getchar(); switch (cmenuewahl) { case 'a': /*Schleife zum Einlesen von dem Startwert des Positionsbereichs*/ do { printf("Bitte geben Sie einen Startwert fuer den\n" "Positionsbereich der Statusbits an. Dieser\n" "Wert muss zwischen 1 und %d sein!\n\n", (sizeof(int)*8-1)); fflush(stdin); ianz=scanf("%d", &ibereichanf); } while ((ianz==0) || (ibereichanf < 1) || (ibereichanf > sizeof(int)*8-1)); /*Schleife zum Einlesen von dem Endwert des Positionsbereichs*/ do { printf("Bitte geben Sie einen Endwert fuer den\n" "Positionsbereich der Statusbits an. Dieser\n" "Wert muss zwischen %d und %d sein!\n\n", ibereichanf, sizeof (int)*8); fflush(stdin); ianz=scanf("%d", &ibereichende); } while ((ianz==0) || (ibereichende <= ibereichanf) || (ibereichende > sizeof(int)*8)); /*Statusbits auf 1 setzen*/ for (i=ibereichanf--; i <= ibereichende; i++) { itemp = itemp << 1; itemp = itemp | 1; } itemp = itemp << ibereichanf; istatuswort1 = istatuswort1 | itemp; break; case 'b': /*Schleife zum Einlesen von dem Startwert des Positionsbereichs*/ do { printf("Bitte geben Sie einen Startwert fuer den\n" "Positionsbereich der Statusbits an. Dieser\n" "Wert muss zwischen 1 und %d sein!\n\n", (sizeof(int)*8-1)); fflush(stdin); ianz=scanf("%d", &ibereichanf); } while ((ianz==0) || (ibereichanf < 1) || (ibereichanf > sizeof(int)*8-1)); /*Schleife zum Einlesen von dem Endwert des Positionsbereichs*/ do { printf("Bitte geben Sie einen Endwert fuer den\n" "Positionsbereich der Statusbits an. Dieser\n" "Wert muss zwischen %d und %d sein!\n\n", ibereichanf, sizeof (int)*8); fflush(stdin); ianz=scanf("%d", &ibereichende); } while ((ianz==0) || (ibereichende <= ibereichanf) || (ibereichende > sizeof(int)*8)); /*Statusbits zuruecksetzen /auf Null setzen*/ for (i=ibereichanf--; i<= ibereichende; i++) { itemp = itemp << 1; itemp = itemp | 1; } itemp = ~itemp; itemp = itemp << ibereichanf; istatuswort1 = istatuswort1 & itemp; case 'c': /*Schleife zum Einlesen von dem Startwert des Positionsbereichs*/ do { printf("Bitte geben Sie einen Startwert fuer den\n" "Positionsbereich der Statusbits an. Dieser\n" "Wert muss zwischen 1 und %d sein!\n\n", (sizeof(int)*8-1)); fflush(stdin); ianz=scanf("%d", &ibereichanf); } while ((ianz==0) || (ibereichanf < 1) || (ibereichanf > sizeof(int)*8-1)); /*Schleife zum Einlesen von dem Endwert des Positionsbereichs*/ do { printf("Bitte geben Sie einen Endwert fuer den\n" "Positionsbereich der Statusbits an. Dieser\n" "Wert muss zwischen %d und %d sein!\n\n", ibereichanf, sizeof (int)*8); fflush(stdin); ianz=scanf("%d", &ibereichende); } while ((ianz==0) || (ibereichende <= ibereichanf) || (ibereichende > sizeof(int)*8)); /*Statusbits umkippen*/ for(i=ibereichanf--; i<=ibereichende; i++) { itemp = itemp << 1; itemp = itemp | 1; } itemp = itemp << ibereichanf; istatuswort1=istatuswort1^itemp; break; case 'd': /*Schleife zum Einlesen von dem Startwert des Positionsbereichs*/ do { printf("Bitte geben Sie einen Startwert fuer den\n" "Positionsbereich der Statusbits an. Dieser\n" "Wert muss zwischen 1 und %d sein!\n\n", (sizeof(int)*8-1)); fflush(stdin); ianz=scanf("%d", &ibereichanf); } while ((ianz==0) || (ibereichanf < 1) || (ibereichanf > sizeof(int)*8-1)); /*Schleife zum Einlesen von dem Endwert des Positionsbereichs*/ do { printf("Bitte geben Sie einen Endwert fuer den\n" "Positionsbereich der Statusbits an. Dieser\n" "Wert muss zwischen %d und %d sein!\n\n", ibereichanf, sizeof (int)*8); fflush(stdin); ianz=scanf("%d", &ibereichende); } while ((ianz==0) || (ibereichende <= ibereichanf) || (ibereichende > sizeof(int)*8)); /*Statuswort bitweise ausgeben*/ for (i=sizeof(istatuswort1)*8-1;i>=0;i--) { /*printf("%u, (istatuswort & ((1 << (i+1))-1))>>i);*/ printf("%n", (istatuswort1>>i)&1); } printf("\n\n"); break; case 'e': iende=1; printf ("Das Programm wird beendet"); break; default: printf ("Ihre Eingabe war falsch!\n"); } }while (iende!=1); return 0; }
vielen dank schon mal.
gruß
satyja
-
12.04.05 12:54 #2
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Du hast prinftf aufgerufen es heisst aber printf...
Also das eine f weg und gut.
Der Fehler ist übrigens da woe du das Menu zeichnest.
mfg
umbrasaxum
-
oh man. danke... habe die ganze zeit gesucht und es nicht gefunden.
ärgerlich ist es, dass das ganze progg trotzdem nicht läuft...
Ähnliche Themen
-
undefined reference to
Von hintermair im Forum C/C++Antworten: 5Letzter Beitrag: 27.04.09, 14:30 -
[Linker error] undefined reference to ... Irgendwas streikt bei WinMain
Von Nord-Süd-Richtung im Forum C/C++Antworten: 5Letzter Beitrag: 13.03.08, 08:12 -
[Linker error] undefined reference to ....
Von Katzenbauer im Forum C/C++Antworten: 4Letzter Beitrag: 09.02.05, 22:38 -
cygwin linker "undefined reference"
Von freddy23 im Forum C/C++Antworten: 4Letzter Beitrag: 22.10.04, 23:06 -
[Linker Error] undefined reference to..
Von srpcool im Forum C/C++Antworten: 3Letzter Beitrag: 07.04.04, 22:51





Zitieren
Login






