Aiuto Urgente Programmi In C

di il
2 risposte

Aiuto Urgente Programmi In C

Ciao vi chiedo un aiutino per una serie di programmi in C che per un esame urgente dovrei realizzare.

allora mi aiutate?

queste sono le tracce:
daiiii vi prego saprò riconpensarvi un bacio!

Esercizio Esame 1.1
Si deve costruire un programma che ha in input:
due file di testo, il primo, “info.txt” contiene le informazioni sugli aerei che partono da una determinata città. Ogni linea contiene le seguenti informazioni:
codiceVolo Partenza Città Arrivo Posti Prezzo.
Per esempio, il contenuto di una linea può essere il seguente:
A143 14.00 Venezia 15.15 143 75.48
Il file è ordinato per codiceVolo.
Il secondo, “prezzi.txt”, contiene le informazioni relative all’aggiornamento dei prezzi di e ogni linea contiene solo le seguenti informazioni:
codiceVolo Prezzo.
Per esempio, il contenuto di una linea può essere il seguente:
A143 84.54
Il file è ordinato per codiceVolo.
Il programma fornisce in output:
due file di testo, il primo, “oldInfo.txt”, è identico al file “info.txt” , il secondo, “info.txt”, si ottiene aggiornando i prezzi del primo file di input .
Il programma deve gestire l’eventuale presenza in “prezzi.txt” di un codiceVolo inesistente.
Il programma, infine, deve mostrare sul monitor il contenuto dei due file di output visualizzando, contemporaneamente, una linea di ciascun file di output.

Esempio di output sul monitor:

A143 14.00 Venezia 15.15 143 75.48
A143 14.00 Venezia 15.15 143 84.54

A148 15.30 Milano 16.40 220 93.12
A148 15.30 Milano 16.40 220 98.62

A162 17.00 Roma 18.00 180 61.23
A162 17.00 Roma 18.00 180 61.23
__________________________________________________________________________

Esercizio Esame 2.1
Si deve definire un tipo di dati in cui devono essere conservati le informazioni relative ad un libro. Le componenti del record contengono le informazioni relative al titolo, all’autore, al prezzo, all’editore ed infine alle “caratteristiche” (Si usi per le caratteristiche un ulteriore tipo di dati contenente l’anno della pubblicazione, il numero di pagine, ed una parola che indica un’ulteriore caratteristica. )
Ad esempio :
Non avevo capito niente, De Silva Diego, 16.00, Einaudi, (2007, 309, brossura)
Delitti esemplari, Aub Max, 6.00, Sellerio, (1982, 72, brossura)
Si devono costruire le funzioni di inserimento dei dati dalla tastiera leggiLibro e leggiCaratteristiche e le funzioni scriviLibro e scriviCaratteristiche che mostrano sul monitor i valori contenuti nel record.
Scrivi un programma che verifichi il funzionamento dei moduli. Il programma deve utilizzare un vettore per conservare le informazioni relative a cinque libri.
______________________________________________________________________________

Esercizio Esame 3.1
Si devono gestire le prenotazioni dei posti in un aereo. Le informazioni sono contenute in un file di record con le seguenti componenti: Codice del volo, Città di partenza, Data di partenza, Ora di partenza, Città di arrivo, Data di arrivo, Ora di arrivo, Numero di posti venduti, Numero di posti disponibili, Prezzo.
Per esempio, il contenuto di un record può essere il seguente:
A143 ; Bari ; domenica 16 dicembre 2007 ; 14:00 ; Venezia; domenica 16 dicembre 2007; 15:15 ; 143 ; 75 .
Si devono costruire le funzioni di inserimento, di cancellazione e di aggiornamento di un record nel file binario di input. Inoltre si devono costruire le funzioni prenotaVolo e cancellaPrenotazione. Si scriva un programma che verifichi il funzionamento dei moduli.
_____________________________________________________________________________

2 Risposte

  • Re: Aiuto Urgente Programmi In C

    Non è proprio come quello che serve a te..........ma se ci lavori sopra a questo che ti ho mandato, devi solo modificare 1 po' in base a quello che ti chiede il problema........
    COMUNQUE, SOLITAMENTE PRIMA SI POSTA IL PROPRIO CODICE, POI SI CHIEDE AIUTO PER MIGLIORARLO, PERFEZIONARLO, CERCARE ERRORI, ETC, ETC



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

    /* dim dell'array dei voli giornalieri */
    #define MAXVOLI 5

    struct ora {
    int ore;
    int minuti;
    };
    typedef struct ora Ora;

    struct volo {
    char *numvolo;
    Ora orario;
    int numposti;
    char *destinazione;
    };
    typedef struct volo Volo;

    struct voli {
    int numvoli;
    Volo vettorevoli[MAXVOLI];
    };
    typedef struct voli Voli;


    void CambiaOrario(Volo vettorevoli[], const char *numerovolo, Ora nuovaora);
    void AggiornaPosti(Volo vettorevoli[], const char *numerovolo,
    int postiprenotati);
    void StampaVoli(Volo vettorevoli[]);


    int main(void)
    {
    Volo voligiornalieri[MAXVOLI] = {
    "AZ001", 8, 10, 70, "Bologna",
    "AZ002", 9, 20, 71, "Palermo",
    "AZ003", 10, 30, 73, "Milano",
    "AZ004", 11, 40, 74, "Torino",
    "AZ005", 12, 50, 75, "Bari"
    };
    char nvolo[10], carattere;
    Ora nuovorario;
    int nposti;

    do {
    printf("\n\nIntroduci opzione:\n");
    printf(" A ... Cambia orario\n");
    printf(" B ... Aggiorna posti\n");
    printf(" C ... Stampa voli\n");
    printf(" F ... Fine:\n");
    carattere = getchar();
    getchar();
    switch (carattere) {

    case 'a': case 'A':
    printf("\n\tIntroduci il numero del volo da modificare: ");
    scanf("%10s", nvolo);
    printf("\tIntroduci nuovo orario: ");
    scanf("%d%d", &nuovorario.ore, &nuovorario.minuti);
    getchar();
    CambiaOrario(voligiornalieri, nvolo, nuovorario);
    break;

    case 'b': case 'B':
    printf("\n\t%s", "Introduci il numero del volo da modificare: ");
    scanf("%10s", nvolo);
    printf("\t%s", "Introduci posti prenotati: ");
    scanf("%d", &nposti );
    getchar();
    AggiornaPosti(voligiornalieri, nvolo, nposti);
    break;

    case 'c': case 'C':
    StampaVoli(voligiornalieri);
    break;

    case 'f': case 'F':
    break;

    default:
    printf("%s", "Carattere errato");
    break;
    }
    } while (carattere!='f'&&carattere!='F');

    return 0;
    }


    void CambiaOrario(Volo vettorevoli[], const char *numerovolo, Ora nuovaora)
    {
    int i = 0;
    int trovato = 0; /* inizializzazione della var booleana trovato a false */

    while ((i < MAXVOLI) && (!trovato)){
    if (strcmp(numerovolo, vettorevoli.numvolo) == 0)
    trovato = 1;
    i++;
    }
    if (!trovato)
    printf("\t%s", "Volo non trovato");
    else {
    i--;
    vettorevoli.orario.ore = nuovaora.ore;
    vettorevoli.orario.minuti = nuovaora.minuti;
    printf("\tModificato l'orario del volo %s\n", numerovolo);
    }
    }


    void AggiornaPosti(Volo vettorevoli[], const char *numerovolo,
    int postiprenotati)
    {
    int i = 0;
    int trovato = 0; /* inizializzazione della var booleana trovato a false */

    while ((i < MAXVOLI) && (!trovato)){
    if (strcmp(numerovolo, vettorevoli.numvolo) == 0)
    trovato = 1;
    else
    i++;
    }
    if (!trovato)
    printf("\t%s", "Volo non trovato");
    else {
    if (vettorevoli.numposti >= postiprenotati) {
    vettorevoli.numposti -= postiprenotati;
    printf("\tAggiornamento per il volo %s: posti disponibili %d\n",
    numerovolo, vettorevoli.numposti);
    } else {
    printf("\tAggiornamento per il volo %s NON effettuato\n", numerovolo);
    printf("\t\tposti disponibili %d\n", vettorevoli.numposti);
    }
    }
    }


    void StampaVoli(Volo vettorevoli[MAXVOLI])
    {
    int k;

    printf("\nPARTENZE VOLI GIORNALIERI\n"
    "%3s %6s %12s %10s %12s\n", "", "n.volo", "destinazione", "partenza",
    "posti liberi");
    for (k = 0; k < MAXVOLI; k++)
    printf("%3d %6s %12s %7d:%2d %12d\n",
    k,
    vettorevoli[k].numvolo,
    vettorevoli[k].destinazione,
    vettorevoli[k].orario.ore,
    vettorevoli[k].orario.minuti,
    vettorevoli[k].numposti);
    }
  • Re: Aiuto Urgente Programmi In C

    Grazie per il tentativo di aiuto asd,
    ma io non ho idea di cosa fare di come iniziare sti 3 programmi,,,,,ecco perchè chiedevo a voi che siete dei luminari del C...che scrivete 10000 righe di codice in 5 minuti.
    grazie comunque tenterò con la canna del gasssssssssssssss
Devi accedere o registrarti per scrivere nel forum
2 risposte