Schnelle objektorientierte, kompilierende Programmiersprache.
-
Kayno
- Beiträge: 3
- Registriert: So Dez 04, 2016 5:37 pm
Beitrag
von Kayno » Mo Dez 26, 2016 7:53 pm
Code: Alles auswählen
include <stdio.h>
#define LAENGENAME 100
#define LAENGEVORWAHL 100
#define LAENGENUMMER 100
#define MAX 100
struct daten
{
char name[LAENGENAME];
char vorname[LAENGENAME];
char vorwahl[LAENGEVORWAHL];
char nummer[LAENGENUMMER];
}adressbuch;
int main ()
{
int abfrage;
char i;
char NAME;
char VORNAME;
char VORWAHL;
char NUMMER;
do
{
printf("\n\nEingabe\n\n");
printf("<1> Eintrag einfuegen\n");
printf("<2> Eintrag loeschen\n");
printf("<3> Eintrag suchen\n");
printf("<0> Programm Beenden\n\n");
printf("Bitte geben Sie ein Zahl ein\n");
scanf("%d", &abfrage);
switch (abfrage)
{
case 1: printf("Sie haben die 1 Eingegeben\n\n Bitte fuegen Sie einen Eintrag ein\n");
for(i=0; i<1; i++) {
printf("Name: ");
scanf("%s", adressbuch.name);
printf("Vorname: " );
scanf("%s", adressbuch.vorname);
printf("Vorwahl: ");
scanf("%s", adressbuch.vorwahl);
printf("Nummer: ");
scanf("%s ", adressbuch.nummer);
}
for(i=0; i<1; i++) {
printf("Name: %s \n", adressbuch.name);
printf("Vorname: %s \n", adressbuch.vorname);
printf("Vorwahl: \n",adressbuch.vorwahl);
printf("Nummer: ", adressbuch.nummer);
}
break;
case 2: printf("Sie haben die 2 Eingegeben\n Welchen Eintrag soll geloescht werden\n");
break;
case 3: printf("Sie haben die 3 Eingegeben\n Was soll gesucht werden\n");
break;
default: break;
}
}while (abfrage != 0);
return 0;
}
bei Case 1 habe ich folgendes Problem es will nicht speichern bei meiner for schleife was mach ich falsch
-
nufan
- Wiki-Moderator
- Beiträge: 2558
- Registriert: Sa Jul 05, 2008 3:21 pm
Beitrag
von nufan » Mo Dez 26, 2016 10:30 pm
Da ist ein Leerzeichen zu viel, dadurch wartet scanf() auf eine weitere Eingabe, auch wenn diese dann nicht mehr gespeichert wird.
Kayno hat geschrieben:Code: Alles auswählen
printf("Vorwahl: \n",adressbuch.vorwahl);
printf("Nummer: ", adressbuch.nummer);
Hier fehlt die Formatangabe für deinen Parameter. Dein Compiler spuckt auch eine Warning aus, wenn du die richtigen Flags setzt:
Code: Alles auswählen
$ gcc test.c -Wall
test.c: In Funktion »main«:
test.c:59:24: Warnung: zu viele Argumente für Format [-Wformat-extra-args]
printf("Vorwahl: \n",adressbuch.vorwahl);
^~~~~~~~~~~~~
test.c:60:24: Warnung: zu viele Argumente für Format [-Wformat-extra-args]
printf("Nummer: ", adressbuch.nummer);
^~~~~~~~~~
test.c:24:10: Warnung: Variable »NUMMER« wird nicht verwendet [-Wunused-variable]
char NUMMER;
^~~~~~
test.c:23:10: Warnung: Variable »VORWAHL« wird nicht verwendet [-Wunused-variable]
char VORWAHL;
^~~~~~~
test.c:22:10: Warnung: Variable »VORNAME« wird nicht verwendet [-Wunused-variable]
char VORNAME;
^~~~~~~
test.c:21:10: Warnung: Variable »NAME« wird nicht verwendet [-Wunused-variable]
char NAME;
-
Kayno
- Beiträge: 3
- Registriert: So Dez 04, 2016 5:37 pm
Beitrag
von Kayno » Di Dez 27, 2016 12:03 am
Danke hat weiter geholfen jetzt möchte ich z.B die vorwahl löschen und ändern wie funktioniert das. Ich weiss das ich eine neue funktion machen muss
-
Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
-
Kontaktdaten:
Beitrag
von Xin » Di Dez 27, 2016 6:00 pm
Kayno hat geschrieben:Danke hat weiter geholfen jetzt möchte ich z.B die vorwahl löschen und ändern wie funktioniert das. Ich weiss das ich eine neue funktion machen muss
Sicherlich.
Und was stellst Du Dir denn vor, was die Funktion machen muss?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
-
Kayno
- Beiträge: 3
- Registriert: So Dez 04, 2016 5:37 pm
Beitrag
von Kayno » Di Dez 27, 2016 8:11 pm
die Funktion soll die Eingaben speichern so das wenn ich suche die funktion noch steht also ein beispiel
ich gebe als Namen Manfred also vornamen Heinz und vorwahl 225588 und nummer 335544 dann soll die funktion das speichern ich weiss nicht ob ich dafür murloc benutzen sollte.
Die nächste Funktion soll suchen z.B ich suche den eintrag Manfred dann zeigt er mir den eintrag Manfred auf und die dritte funktion soll eines der daten löschen und diese ändern z.B hatr Manfred eine neue nummer bekommen dann soll die alte gelöscht werden und die neue eingetragen werden..
Danke schonmal
-
Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
-
Kontaktdaten:
Beitrag
von Xin » Mi Dez 28, 2016 12:46 pm
Kayno hat geschrieben:die Funktion soll die Eingaben speichern so das wenn ich suche die funktion noch steht also ein beispiel
ich gebe als Namen Manfred also vornamen Heinz und vorwahl 225588 und nummer 335544 dann soll die funktion das speichern ich weiss nicht ob ich dafür murloc benutzen sollte.
murloc...? ^^
Speichern... verstehe ich als auf der Festplatte. Wenn Du RAM-Speicher brauchst, um die Daten zu halten, klingt malloc ganz gut.
Wie lernst Du C?
Kayno hat geschrieben:Die nächste Funktion soll suchen z.B ich suche den eintrag Manfred dann zeigt er mir den eintrag Manfred auf und die dritte funktion soll eines der daten löschen und diese ändern z.B hatr Manfred eine neue nummer bekommen dann soll die alte gelöscht werden und die neue eingetragen werden..
Du hast alle Daten als char-Array angelegt. Um die Daten zu ersetzen überschreibst Du sie einfach.
Vielleicht schaust Du Dir mal unser C-Tutorial an, zumindest bis zu den C-Strings.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.