c konsolenprogramm ?

yax

Erfahrenes Mitglied
Hallo :)

ich habe vor einiger Zeit angefangen C zu lernen, und jetzt wollte ich das gelernte mal richtig anwenden :) doch ich weiß nicht mit was für einem Konsolenprogramm. Also ich kann auf jeden fall mit Datentypen, Funktionen, Zeigern und Arrays umgehen.

Also hat jemand eine idee was ich programmieren könnte?

Gruß.

PS: Danke schon einmal im Voraus. :)
 
Du könntest z.B. ein Programm schreiben, welches eine Textdatei liest und zeilenweise den Inhalt ausgibt. Z.B. wäre auch deine Quellcodedatei (irgendwas.c) dafür geeignet. Nachdem das geklappt hat, könntest du dich steigern und die Ansprüche verfeinern, z.B. Zählen der Zeilen,Worte, Formatieren bestimmter Zeilen...
 
  • Gefällt mir
Reaktionen: yax
Da gibt es nur ein Problem :) ich kann so Dateien oder so noch nicht einlesen, und ich möchte ja nur das gelernte befestigen. :)

Gruß yax

PS: Danke für die schnelle Antwort. :)
 
Hi,
du kannst ja z.B. ein (Taschen-)Rechner programmieren, dass ist eine "klassische" Übungsaufgabe in Schulen bzw. Unis. Du könntest doch auch ein "Kinoprogramm" programmieren, womit du Karten "verkaufts" vllt. Kundendaten verwaltest ober aber auchz.b. neue Kinofilme "einstellst".
 
  • Gefällt mir
Reaktionen: yax
Danke Bismark, das Kinoprogramm ist eine super Idee. :)

Trotzdem nehme ich gerne noch andere Vorschläge an. :)
 
Zuletzt bearbeitet:
Hi,
mach ich doch gerne.

du könntest doch auch z.b. ein "Depot- bzw Kontoverwaltungsprogramm" machen, mit dem du halt kontos erstellen Geld "abheben und legen" kannst.
 
Hi,
mach ich doch gerne.

du könntest doch auch z.b. ein "Depot- bzw Kontoverwaltungsprogramm" machen, mit dem du halt kontos erstellen Geld "abheben und legen" kannst.
 
Also ich finde das Kontoverwaltungsprogramm cooler als das Kinoprogramm, also werde ich mich mal ran machen. :)
 
Also, ich weiß nicht ob ich ein neues Thema anfangen muss (wenn ja dann könnt ihr es ja sagen) aber ich habe jetzt mal angefangen diese Art Bank zu programmieren, doch ich habe ein kleines Problem wenn ich zwei Strings vergleichen möchte.

Hier erst einmal mein Code:
Code:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char korrekt[6];
typedef struct konto {
        char name[30];
        int guthaben;
        int alter;
        long handynummer;
        }konto;

int auswahl();

konto kontoAnlegen() {
      konto konto1;
      int ziffer;
      char string[10] = "nein";
      
      printf("------------ Neues Konto anlegen ---------------\n\n");
      
      
      printf("Wie lautet ihre Handynummer: ");
      do { scanf("%d", &konto1.handynummer); } while( getchar() != '\n');
      printf("Wie alt sind sie: ");
      do{ scanf("%d", &konto1.alter); } while( getchar() != '\n');
      printf("Wie ist ihr Vor- und ihr Nachname: ");
      fgets(konto1.name, 30, stdin);
      printf("Ihr Konto wurde angelegt. Bitte ueberpruefen sie ihre eingabe: \n");
      printf("Name        : %s", konto1.name);
      printf("Alter       : %d\n", konto1.alter);
      printf("Handynummer : %d\n", konto1.handynummer);
      printf("Sind die Angaben korrekt? (ja oder nein)");
      fgets(korrekt, 6, stdin);
      printf("%s\n",korrekt);
      if (strcmp(korrekt,string) == 0) {
          printf("Welche Angabe ist nicht Korrekt: \n");
         printf("1. Name\n");
         printf("2. Alter\n");
         printf("3. Handynummer\n");
         printf("Bitte geben sie nun die entsprechende Ziffer ein: ");
         scanf("d",&ziffer);
         switch (ziffer) {
             case 1: printf("Bitte geben sie ihren korrekten Namen ein: ");
                     fgets(konto1.name, 30, stdin);
                     break;
             case 2: printf("Bitte geben sie ihr korrektes Alter ein: ");
                     do { scanf("%d",&konto1.alter); } while(getchar() != '\n');
                     break;
             case 3: printf("Bitte geben sie ihre korrekte Handynummer ein: ");
                     do { scanf("%d", &konto1.handynummer); } while(getchar() != '\n');
                     break;
             
      }
         }
      return konto1;
        
      }
      


int main(int argc, char *argv[])
{
    int nummer;
    nummer = auswahl();
    
    switch (nummer) {
           case 1: break;
           case 2: break;
           case 3: break;
           case 4: break;
           case 5: kontoAnlegen();
                   break;
           }
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

int auswahl() {
    int auswahl;
    printf("-------------- Bankomat -----------------\n\n");
    printf("Was moechten sie tun: \n");
    printf("1. Guthaben abfragen\n");
    printf("2. Guthaben abheben\n");
    printf("3. Handy aufladen\n");
    printf("4. Geld überweisen\n");
    printf("5. Neues Konto anlegen.\n");
    printf("Bitte waehlen sie nun eine Nummer: ");
    scanf("%d", &auswahl);
    
    
    return auswahl;
}

So, wenn ich das Programm jetzt ausführe, ein neues Konto anlege, und dann angebe dass die Eingabe nicht korrekt war, also nein eingebe, wird nicht abgefragt was falsch ist und so weiter.

Kann mir jemand helfen?

Gruß yax.
 
Du meinst diese
C++:
fgets(korrekt, 6, stdin);
Stelle?

Wahrscheinlich ist das Problem, dass fgets den Zeilenumbruch mitspeichert.
Leg noch ein int (hier j) an und mach nach dem fgets ca sowas:
C++:
while(1)
{
    j=strlen(korrekt);
    if(korrekt[j]!=10&&korrekt[j]!=13&&korrekt[j]!=-1)break;
    korrekt[j-1]='\0';
}
 
Zurück