Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    6

    soluzione urgente programma

    salve mi vedete come posso stampare e compilare questo codice esattamente perche nn riesco ad inserire il pritf e il scanf perche ho delle strutture:
    devo scrivere una funzione c definendo le opportune struture dati e inizializzazione tale da aggiudere n nuovo elemento ad una lista studenti in cui ogni studente è definito da na terna costtuita da numero matrizola e nome e cognome ,tale funzione dovra ricevere in input il puntatore alla lista esistente anche se essa è ancora vuota ed una terna relativa ad un nuovo studente e restituisce al chiamante il puntatore alla lista orginaria con l'aggiunta dellanuova terna la lista dovrà essere ordinata oer matricola crescente dello studente
    nota:la lista non dovrà essere creatanessuna nuova lista d'appoggio non è permesso l'usi della libreria string
    F-I-R-A-S

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    6
    io ho fatto questa soluzione: perche il problema di inserire l'input e output

    #include <stdio.h>
    #include <stdlib.h>
    #include <malloc.h>
    struct studente {
    int matricola;
    char nome[20];
    char cognome [20];
    };
    struct elemento {
    struct studente info;
    struct elemento *pun;
    };
    struct elemento *inserimento(struct elemento*,struct studente);


    int main()
    {
    struct elemento *puntlista = NULL;
    struct studente val;
    int scelta = -1;
    char pausa;
    puntlista=inserimento(puntlista,val);


    system("PAUSE");
    return 0;
    }
    struct elemento *inserimento(struct elemento *p,struct studente x){
    struct elemento *p0, *p1;
    int posizione;
    /*CREAZIONE ELEMENTO*/
    p0= (struct elemento *)malloc(sizeof(struct elemento));
    printf("\nInserire l'informazione studente : ");
    scanf("%d", &p0->(x.matricola));
    scanf("%c", &p0->(x.nome));
    scanf("%c", &p0->(x.cognome));
    /*VERIFICA SE LA LISTA è VUOTA*/
    if(p==NULL){p=p0;
    p->pun=NULL;}
    else {if (p->(x.matricola) > p0->(x.matricola)){
    p0->pun=p;
    p=p0;}
    else {p1=p;
    posizione=0;
    while(p1->pun!=NULL && posizione!=1){
    if(p1->pun->(x.matricola)< p0->(x.matricola))
    p1 = p1->pun;
    else posizione=1;/*INTERROMPE SCANSIONE*/
    }
    p0->pun = p1->pun; /*CONNESSIONE ALL'ELEMENTO SUCCESSIVO*/
    }
    p1->pun = p0; /*CONNESSIONE DALL'ELEMENO PRECEDENTE*/
    }
    }
    return(p);
    }
    F-I-R-A-S

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    6
    per favore vorrei la correzzione del mio codice e grazie mille
    F-I-R-A-S

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

    Moderazione

    Originariamente inviato da firas
    per favore vorrei la correzzione del mio codice e grazie mille
    Questo non è un servizio di consulenza a pagamento, ma un luogo gratuito in cui è possibile chiedere suggerimenti per la soluzione dei propri problemi di programmazione, rispettando il tempo libero degli altri utenti della community e i regolamenti vigenti.

    Non esistono quindi discussioni urgenti, o almeno non esistono discussioni più urgenti di altre.

    Ho corretto il titolo nel rispetto del Regolamento di quest'area.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    6
    ma mica ti ho detto una bestemia ho chiesto con tutto il rispetto e dicendo per favore se non sai leggere non è colpa mia
    spero che sia chiaro
    e poi infatti ho chiesto suggerimenti e ho messo il titolo cosi percke avevo bisogn o e non è per pagare .....spero k legga bn prima di rispondere alla gente...
    F-I-R-A-S

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

    Moderazione

    Originariamente inviato da firas
    ma mica ti ho detto una bestemia
    Originariamente inviato da firas
    ho chiesto con tutto il rispetto e dicendo per favore
    No, hai aperto una discussione senza preoccuparti di leggere il Regolamento, usando un titolo inappropriato, senza indicare il linguaggio di programmazione nel titolo come richiesto, definendo urgenza ciò che - come ti ho già spiegato e ribadisco - non lo è, inserendo ben 3 interventi separati nel tuo post nel giro di una mezz'ora (facendo quindi salire, senza che nessuno abbia ancora inserito una risposta, la discussione, e facendo quindi scalare le altre, e questo non è rispettoso nei confronti degli altri utenti).

    Originariamente inviato da firas
    se non sai leggere non è colpa mia
    Chi non ha letto sei tu, e polemizzi inutilmente con chi ha la sola responsabilità di fartelo notare.

    Originariamente inviato da firas
    spero che sia chiaro
    Spero che sia più chiaro ciò che ho scritto io.

    Originariamente inviato da firas
    e poi infatti ho chiesto suggerimenti e ho messo il titolo cosi percke avevo bisogn o e non è per pagare .....spero k legga bn prima di rispondere alla gente...
    Il fine non giustifica i mezzi, qui, perché lo spazio è utilizzato anche da altri (motivo per cui dovresti anche evitare abbreviazioni, in modo da facilitare la lettura agli altri utenti).

    Direi che è tutto.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  7. #7
    Utente di HTML.it L'avatar di Ifrit
    Registrato dal
    Oct 2005
    Messaggi
    116
    Allora io non posso che dare tutta la ragione a alka
    Vorrei ricordare che queste pagine vengono "percorse" da gente matura [almeno si spera], quindi non vedo per quale motivo bisogna accanirsi quando una persona fa presente che sono state violate delle regole.
    Inoltre vorrei ricordare anche che non solo non e' affatto giusto accanirsi per motivi cosi banali, ma bisogna comunque tenere una certa moderatezza, dopotutto firas perdonami se te lo dico, ma tu non conosci alka come non lo conosco io, che diritto abbiamo di "aggredirlo"??

    Comunque, per la serie Facciamo l'amore, non facciamo la guerra, cio' puo capitare e non dobbiamo farne un problema esistenziale....

    Tornando IT [non so se qui si usa questa abbreviazione, significa InTopic], sono anche io uno studente dello stesso corso di fondamenti di informatica [non dico il nome del docente per evitare violazioni]

    Ho letto il tuo codice e gli ho dato una "Regolata", c'erano molti errori di sintassi e altro.
    Qui sotto ti posto quello corretto ma non ti consiglio di sostenere l'orale visto il compito.

    Se vuoi sono anche disponibile a darti una spiegazione veloce sui motivi che hanno portato alle modifiche, mi trovi dalle 8 di questa mattina [9/gen/2008] nell'auletta di Azione Universitaria [piano 150, l'aula e ubicata vicino la porta che separa il corridoio delle associazione e la biblioteca] fino a orario da stabilire [non lo so, come mi gira]
    Sono il ragazzo coi capelli lunghi e rossi [alcuni dicono biondi] che veste di nero [il metallaro insomma]
    Ti aspetto
    Matteo

    Codice PHP:
    #include <stdio.h>
    #include <stdlib.h>
    #include <malloc.h>


    struct studente 
     
    {
      
    int matricola;
      
    char nome[20];
      
    char cognome [20];
     };

    struct elemento
     
    {
      
    struct studente info;
      
    struct elemento *pun;
     };
     
    struct elemento *inserimento(struct elemento*);


    int main()
    {
     
    system("color 0a");
     
    struct elemento *puntlista NULL;
     
    int i;
     
     do
      {
        
    system("cls");   
        
    puntlista=inserimento(puntlista);   
        
    printf("Vuoi inserire i dati di un nuovo alunno?: [1 SI/0 NO]: ");
        
    scanf("%d",&i);   
      } while(
    i);
      
      
    system("cls"); 
      
    printf("\n\tLettura della lista\n\n");
      
      while(
    puntlista!=NULL)
      {
        
    printf("Matricola: %d\n",puntlista->info.matricola);
        
    printf("Nome: %s\n",puntlista->info.nome);
        
    printf("Cognome: %s\n\n",puntlista->info.cognome);
        
    puntlista puntlista->pun;                     
      }
     
     
    system("pause"); 
     return 
    0;
    }

    struct elemento *inserimento(struct elemento *p)
    {
     
    struct elemento *p0, *p1;
     
    int posizione;
     
     
    p0= (struct elemento *)malloc(sizeof(struct elemento));
     
    p0->pun=NULL;
     
     
    printf("\n\tInserire l'informazione studente\n\n");
     
     
    printf("Matrivola: ");
     
    scanf("%d", &(p0->info.matricola));

     
    printf("Nome: ");
     
    scanf("%s"p0->info.nome);
     
     
    printf("Cognome: ");
     
    scanf("%s"p0->info.cognome);
     
     if(
    p==NULLp=p0;
     else 
       { 
          
         if (
    p->info.matricola p0->info.matricola)
           {
             
    p0->pun=p;
             
    p=p0;
           }
         else
           {
             
    p1=p;
             
    posizione=0;
             while(
    p1->pun!=NULL && posizione!=1)
               {
                 if(
    p1->pun->info.matricola p0->info.matricolap1 p1->pun;
                 else 
    posizione=1;
               }
             
    p0->pun p1->pun;
             
    p1->pun p0
           }
       }
    return(
    p);

    codice:
     $(".canaglia").show()

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    6
    adesso non entriamo k è mica sn qui per sapere k è,giusto solo per dirlo e grazie per la sua discussione

    visto il tuo codice
    mi piaceva come soluzione,pero ci manca un parametro formale nella fz di inserimento
    perche deve avere un parametro k mi indica il puntatore a testa lista ed altro parametro per l'elemento k inserisco

    per il tuo consiglio per non presentarmi all'orale,ti ringrazio lo stesso pero mi sono presentato e già superato l'esame e menomale k nn ho preso del consiglio,,,,
    F-I-R-A-S

  9. #9
    Utente di HTML.it L'avatar di Ifrit
    Registrato dal
    Oct 2005
    Messaggi
    116
    Alzo le mani e ti chiedo scusa, ti ho consigiato di non presentarti perche' ho visto un grave errore nel programma che hai postato.

    allora come primo il tuo codice sorgente fa agganciare 2 puntatori a 2 strutture, rispettivamente una struttura di tipo elemento e una di tipo studente:

    codice:
    struct elemento *inserimento(struct elemento *p, struct studente x)
    successivamente crei una struttura di tipo elemento e cerchi di inserire dei dati in questo modo:

    codice:
    scanf("%c", &p0->(x.nome));
    cioe' non so se e' chiaro, dichiarando p0 in questo modo:

    codice:
    struct elemento *p0;
    p0= (struct elemento *)malloc(sizeof(struct elemento));
    si alloca a p0 uno spazio di memoria definito come elemento
    Codice PHP:
    struct elemento
    {
      
    struct studente info;
      
    struct elemento *pun;
    }; 
    quindi mi spieghi da dove viene fuori quella x?
    e' un errore gravissimo, x e' una struttura di tipo studente che hai passato fra gli argomenti della funzione, non centra assolutamente niente con il puntatore p0.
    comunque se vuoi posso continuare a elencare tutti gli errori presenti nel tuo codice sogete, dai piu' banali a quelli da infarto......

    Ti faccio ancora i miei complimenti per aver superato l'esame, spero che continui cosi.
    Saluti Matteo.

    p.s.

    Originariamente inviato da firas
    adesso non entriamo k è mica sn qui per sapere k è,giusto solo per dirlo e grazie per la sua discussione
    Eh? traduzione?


    Originariamente inviato da firas
    mi piaceva come soluzione,pero ci manca un parametro formale nella fz di inserimento
    perche deve avere un parametro k mi indica il puntatore a testa lista ed altro parametro per l'elemento k inserisco
    [list=1][*]Puntatore alla testa della lista[Alias: Root]:
    codice:
    struct elemento *inserimento(struct elemento *p)
    [*]Puntatore all'elemento da inserire:
    Mi spieghi a cosa serve se hai inserito degli scanf nella funzione per aquisire le info?
    Se vuoi ti rifaccio il sorgente impiegando questa soluzione[fra le altre cose e' la soluzione cui ho optato per la mia prova].
    Basta cancellare quegli scanf nella funzione e spostare i dati passati dalla funzione nelle info del puntatore p0[/list=1]



    Originariamente inviato da firas
    e menomale k nn ho preso del consiglio,,,,
    A questo punto mi autoquodo
    Originariamente inviato da ifrit
    ...
    Vorrei ricordare che queste pagine vengono "percorse" da gente matura [almeno si spera],
    ...
    codice:
     $(".canaglia").show()

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    6
    grazie per il tuo impegno
    per il prof che voleva 2 dati in input e non sono io
    lo so che era il mio sbaglio nel definire :struct studente x
    e l'ho aggiustato e funziona tutto bene
    grazie per tutto capo
    F-I-R-A-S

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.