Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28

    AIUTO per programmino c/c++

    chiedo un aiuto su un programmino..in fase di compilazione mi segnala un errore dove ho messo il punto di domanda..questo è il testo e il codice che ho scritto..se riuscite a capire dove ho sbagliato mi fate un piacere..grazie

    2) (a) Sia S il tipo di una struttura dati struct costituita da un campo c1 di tipo stringa (dim.
    max. 1000) ed un campo c2 di tipo intero contenente la lunghezza della stringa in c1. Scrivere
    una funzione void di nome aggiorna che, presi come suoi parametri, una struttura A di tipo
    S ed una stringa s, modifica la struttura A concatenando la stringa s alla stringa contenuta nel
    campo c1 di A, ed aggiorna il campo c2 di A sommandovi la lunghezza della stringa s.
    (b) Realizzare anche un programma principale di prova che legge da standard input due
    stringhe, di lunghezza massima 80, terminate da "a capo", memorizza la prima stringa insieme
    alla sua lunghezza in una struttura di tipo S, e quindi richiama la funzione aggiorna
    passandole la struttura creata e la seconda stringa letta. Il programma termina stampando su
    standard output i valori dei campi c1 e c2 della struttura passata alla aggiorna.
    N.B. Utilizzare soltanto stringhe tipo C ( = array di caratteri …).

    #include <iostream>
    #include <cstring>
    using namespace std;
    struct S{char C1[1000];
    int C2;//lunghezza della stringa in C1
    };
    void aggiorna(S &A,char s[])
    {int x;
    x=strlen(s);
    A.C1=strcat(A.C1,s);
    A.C2=A.C2+x;
    return;
    }
    int main()
    {S B;
    char c[80];
    char d[80];
    int x,y;
    cout<<"inserisci la prima stringa terminata da a capo"<<endl;
    cin.getline(c,80);
    x=strlen(c);
    strcpy(B.C1,c);
    B.C2=x;
    cout<<"inserisci la seconda stringa terminata da a capo"<<endl;
    cin.getline(d,80);
    y=strlen(d);
    aggiorna(B,d);
    cout<<B.C1<<endl;
    cout<<B.C2;
    return 0;
    }

  2. #2
    Utente di HTML.it L'avatar di sotoli
    Registrato dal
    Mar 2008
    Messaggi
    150
    Non devi scrivere:
    codice:
    A.C1=strcat(A.C1,s);
    Basta che tu scriva:
    codice:
    strcat(A.C1,s);
    Dopo questa istruzione, in A.C1 c'è già la stringa concatenata.
    Crestron Control Systems and AMX Control Systems Programmer

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28
    grazie mille..ora va!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.