Visualizzazione dei risultati da 1 a 2 su 2

Discussione: programmazione in c

  1. #1

    programmazione in c

    salve a tutti io sono nuovo del forum e mi chiamo nicola e il mio nickname e nicone.

    io avrei un problema con un programma in c che mi da un errore che non riesco a capire

    questo è il programma

    #include <stdio.h>
    #include <iostream>
    #include <malloc.h>
    #include <string.h>

    typedef struct
    {
    char Nome[15]; //nome del contatto
    char Cognome[15]; //cognome del contatto
    char Numeroditelefono [20]; //numero di telefono
    char Indirizzopaginaweb [50]; //indirizzo di pagina web
    char Indirizzoemail [50]; //indirizzo email
    } contatto; //struttura dell'agenda


    struct record;//struttura con la variabile record

    typedef record * L;//la variabile punta a L

    typedef struct record{//struttura della variabile record
    contatto a[];
    L next;
    } record;



    void push (L c,contatto elem){
    L b;
    L k;
    int n=0;

    b=(L) malloc(sizeof(record));
    b->next=c;
    strcpy(b->a.Cognome,k);
    }



    void insert(L c,contatto elem[]){
    int s=50;
    int d=0;
    int n=0;
    while ((c!=NULL)&&(!d==0)){
    if(elem>c->a) c=c->next;
    if(elem<=c->a) d=1;
    }
    if(d==1)push(c,elem[n]);

    for(n=0;n<s;n++){



    printf("\nnome \n");
    scanf("%s",&a[n].Nome);
    strcpy(a[n].Nome,elem[n].Nome);
    printf("\n._._._._._._._._._._._._.\n");

    printf("\ncognome \n");
    scanf("%s",&a[n].Cognome);
    strcpy(a[n].Cognome,elem[n].Cognome);
    printf("\n._._._._._._._._._._._._.\n");

    printf("\nnumero di telefono \n");
    scanf("%s",&a[n]Numeroditelefono);
    strcpy(a[n]Numeroditelefono,elem[n].Numeroditelefono);
    printf("\n._._._._._._._._._._._._.\n");

    printf("\nindirizzo pagina web \n");
    scanf("%s",&a[n].Indirizzopaginaweb);
    strcpy(a[n].Indirizzopaginaweb,elem[n].Indirizzopaginaweb);
    printf("\n._._._._._._._._._._._._.\n");

    printf("\nindirizzo email \n");
    scanf("%s",&a[n].Indirizzoemail);
    strcpy(a[n].Indirizzoemail,elem[n].Indirizzoemail);
    printf("\n._._._._._._._._._._._._.\n");

    printf("\n^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^\n");
    }}



    void ordina(L c,contatto elem[]){
    int n=0;
    char f[50];
    int s=50;
    while(n<s){
    if(strcmp(elem[n].Cognome,elem[n+1].Cognome)>0){
    //scambia Cognomi
    strcpy(f,elem[n].Cognome);
    strcpy(elem[n].Cognome, elem[n+1].Cognome);
    strcpy(elem[n+1].Cognome, f);

    //Scambia Nomi
    strcpy(f, elem[n].Nome);
    strcpy(elem[n].Nome, elem[n+1].Nome);
    strcpy(elem[n+1].Nome, f);

    //Scambia numeri di telefono
    strcpy(f, elem[n].Numeroditelefono);
    strcpy(elem[n].Numeroditelefono, elem[n+1].Numeroditelefono);
    strcpy(elem[n+1].Numeroditelefono,f);

    //Scambia indirizzo di pagina web
    strcpy(f, elem[n].Indirizzopaginaweb);
    strcpy(elem[n].Indirizzopaginaweb, elem[n+1].Indirizzopaginaweb);
    strcpy(elem[n+1].Indirizzopaginaweb,f);

    //Scambia indirizzo email
    strcpy(f, elem[n].Indirizzoemail);
    strcpy(elem[n].Indirizzoemail, elem[n+1].Indirizzoemail);
    strcpy(elem[n+1].Indirizzoemail, f);
    }}}



    void stampa(L c,contatto elem[]){
    int n=0;
    int s=50;
    for(n=0;s<50;n++){
    printf("%s\n%s\n%s\n%s\n%s\n",elem[n].Nome,elem[n].Cognome,elem[n].Numeroditelefono,elem[n].Indirizzopaginaweb,elem[n].Indirizzoemail);
    }
    }



    void leggi(L c,contatto elem[]){
    int n=0;
    int s=50;
    char p[100];
    printf("dammi il cognome che stai cercando");
    scanf("%s",&p);
    for(n=0;n<s;n++){
    if(p==elem[n].Cognome){
    stampa(c,elem);
    }else{
    printf("ERRORE: nessun elemento corrisponde a quello che stai cercando");
    }}}



    void Cancella(L c,contatto elem){

    L b=c,tmpPunt2;
    while(b!=NULL) {
    tmpPunt2=b->next;
    free(b);
    b=tmpPunt2;
    }
    free(tmpPunt2);
    }



    int main (){
    L a;
    int n=0;
    int s=50;
    int q=0,Scelta; //scelta del menu
    int z=0,scelta;

    ////////////Menu///////////
    do
    {
    printf("1. Inserisci nuovo contatto \n");
    printf("2. Visualizza lista contatti \n");
    printf("3. immetti il numero del contatto che stai cercando \n");
    printf("4. elimina contatto \n");
    printf("5. elimina tutta la rubrica \n");
    printf("6. Esci \n");
    scanf("%d",&Scelta);
    system("CLS");
    switch(Scelta)
    {
    case 1:
    insert(c,elem);
    Ordina(c,elem);
    break;
    case 2:
    stampa(c,elem);
    break;
    case 3:
    printf("Inserisci il nome del contenuto da cui vuoi leggere: \n");
    scanf("%s",elem[n].Cognome);
    leggi(c,elem);
    break;
    case 4:
    do
    {
    printf("1. elimina il primo contatto \n");
    printf("2. elimina un contatto qualunque della lista \n");
    printf("3. elimina un contatto in coda \n");
    printf("4. Esci \n");
    scanf("%d",&scelta);
    system("CLS");
    switch(scelta){
    case 1:
    printf("1. elimina il primo contatto \n");

    break;
    case 2:
    printf("1. elimina il primo contatto \n");

    break;
    case 3:
    printf("1. elimina il primo contatto \n");

    break;
    }
    system("PAUSE");
    system("CLS");
    }while(Scelta!=4);
    break;
    case 5:
    printf("1. elimina il primo contatto \n");
    Cancella(c,elem);
    break;

    }
    system("PAUSE");
    system("CLS");
    }while(Scelta!=6);

    return 0;
    }



    l'errore in che non riesco a capire e quello in questa stringa


    scanf("%s",&a[n].Nome);

    qualcuno mi sa dire perchè mi da errore

    grazie in anticipo per le vostre risposte e scusatemi per il disturbo

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Moderazione

    Ciao e benvenuto nel forum di Programmazione.

    Ti segnalo da subito la lettura del nostro Regolamento che contiene tutte le norme da seguire per partecipare correttamente a quest'area del forum.

    Nello specifico, in questa discussione il titolo è troppo generico, il codice non è formattato con il tag [CODE] e non indichi l'errore riscontrato.

    Leggi quindi il regolamento segnalato e apri una discussione seguendo le indicazioni presenti.

    Detto questo, ciao e...buon forum!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.