Új hozzászólás Aktív témák

  • Milgram1

    aktív tag

    Most már elindul a program,a törlés része jó is, viszont mikor listáznám akkor leáll a program.
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    #define max 100

    int main () {
    int azon[max];
    char nevek[max][100];
    int telszam[max];
    int menu;
    int db=0;
    int i,j;
    bool letezik;
    bool kesz;
    int a;
    int keres;
    char torol; //torles megerositesehez
    int tmp;//ideiglenes buborekos rendezeshez
    char tmp1[100];
    printf("\t\t\t\t\tAdatnyilvantarto program: \n");
    printf("Menupontok: \n");
    Menupontok:
    printf("Uj adat:(1), Kereses:(2), Adatmodositas:(3), Torles:(4), Listazas:(5), Kilepes:(6)\n");
    printf("valasz: ");scanf("%d",&menu);
    switch (menu) {
    case 1:
    printf("__________________________________\n");
    printf("Uj adat felvetele\n");
    do {
    azon_bekeres:
    printf("Adjon meg egy int tipusu azonositot: ");scanf("%d",&a);
    for(int i=0;i<db;i++){
    if(azon[I]==a) {
    printf("Ez az azonosito mar szerepel! Adjon meg masikat!");
    goto azon_bekeres;
    letezik=1;[/I]

    [I]}else {
    letezik=0;
    }
    }
    if (letezik==false) {
    azon[db]=a;
    printf("Adja meg a nevet: ");scanf("%s",&nevek[db]);
    printf("Adja meg a telefonszamot: ");scanf("%d",&telszam[db]);
    db++;
    printf("Uj adat felvetel: (0), Menupontok: (1): ");scanf("%d",&kesz);
    }
    }while(kesz!=true);
    goto Menupontok;
    case 2:
    printf("__________________________________\n");
    printf("Kereses:\n");
    printf("rekordok szama: %d\n",db);
    printf("Adja meg a keresendo rekord azonositojat: ");scanf("%d",&keres);
    i=0;
    while(azon(i)!=keres) {
    i++;
    }
    if (i==db+1) {
    printf("Nem letezik rekord a megadott azonositoval!");
    }else {
    printf("Azonosito: %d - Nev: %s - Telefonszam: %d\n",azon(i),nevek(i),telszam(i));
    }
    goto Menupontok;
    case 3:
    printf("__________________________________\n");
    printf("Adatmodositas:\n");
    printf("Adja meg a modositando rekord azonositojat: ");scanf("%d",&keres);
    i=0;
    while(azon(i)!=keres) {
    i++;
    }
    if (i==db+1) {
    printf("Nem letezik rekord a megadott azonositoval!");
    }else {
    printf("Uj nev: ");scanf("%s",&nevek(i));
    printf("Uj telefonszam: ");scanf("%d",&telszam(i));
    }
    printf("\nA modositas megtortent!\n");
    goto Menupontok;
    case 4:
    printf("__________________________________\n");
    printf("Rekord torlese:\n");
    printf("Adja meg a torlendo rekord azonositojat: ");scanf("%d",&keres);
    for(i=0;i<db;i++){
    if(keres==azon(i))break;
    }
    if(db==i)printf("Nem létezik a megadott azonosito!");
    else{
    printf("Biztos torlni akarja a megadott rekordot? (%d - %s - %d)(1-Igen/0-Nem)",azon(i),nevek(i),telszam(i));scanf("%d",&torol);
    if(torol==1) {
    for(;i<db;i++){
    strcpy(nevek(i), nevek[i+1]);
    telszam(i)=telszam[i+1];[/I]

    [I]}
    }else {
    break;
    }
    }
    db--;
    goto Menupontok;
    case 5:
    printf("__________________________________\n");
    printf("Listazas:\n");
    //Buborék rendezés
    for(int i=0;i<db-1;i++) {
    for(int j=0;db-i-1;j++) {
    if(azon[j]<azon[j+1]) {
    tmp=azon[j];
    azon[j]=azon[j+1];
    azon[j+1]=tmp;
    strcpy(tmp1, nevek[j+1]);
    strcpy(nevek[j], nevek[j+1]);
    strcpy(nevek[j+1], tmp1);
    tmp=telszam[j];
    telszam[j]=telszam[j+1];
    telszam[j+1]=tmp;[/I]

    [I]}
    }
    }
    printf("Azonostio - Nev - Telefonszam\n");
    for(int i=0;i<db;i++) {
    printf("%d - %s - %d\n",azon(i),nevek(i),telszam(i));[/I]

    [I]}
    goto Menupontok;
    case 6:
    break;
    }
    }[/I]

    [I]A cserével lenne valami gond?[/I]

Új hozzászólás Aktív témák