Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    [c++]problema di un principiante

    questo è il mio banalissimo programma

    //fight game
    #include <iostream.h>
    #include <iomanip.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <time.h>

    //begin

    int main()
    {

    srand (time (0) );

    int i , d ,v , life , life1 ,c; // dichiarazione variabili
    enum Status { CONTINUA , LASCIA};
    Status gamestatus;

    cout << "schiaccia un tasto per iniziare" << endl;


    life = 100; // inizializzazione delle variabili
    life1 = 100;
    gamestatus = CONTINUA;

    while (gamestatus == CONTINUA){ // ciclo del gioco

    while ( life > 0 || life1 > 0) //ciclo della vita
    {
    for (c = 1 ; c <= 4 ; c++) //ciclo del combattimento
    {
    cout << "hai un nemico davanti a te!" << endl;
    cout << "schiaccia un numero" << endl;
    cin >> i;
    v= i + rand()%9;
    d= i + rand()%9;

    if (d > 0)
    { if (i > v)
    {cout <<"vita " << life -= 10<< "vita avversario " << life1 << endl;
    else cout <<"vita " << life << "vita avversario " << life1 -= 10 << endl;
    }
    else { if (i < v) cout <<"vita " << life << "vita avversario " << life1 -= 10 << endl;
    else cout <<"vita " << life -= 10 << "vita avversario " << life1 << endl;
    }
    }
    }


    if (life > 0) cout << "hai vinto!" << endl;
    else cout <<"hai perso!" << endl;


    cout << "vuoi giocare ancora? (CONTINUA/LASCIA)" << endl; //conclusione ciclo di gioco
    cin >> gamestatus;
    }


    getch();


    }

    e questi sono gli errori che non rieco bene a capire:

    (40) : error C2297: '<<' : illegal, right operand has type 'char [17]'
    (41) : error C2181: illegal else without matching if
    (41) : error C2297: '<<' : illegal, right operand has type 'class ostream &(__cdecl *)(class ostream &)'
    (43) : error C2297: '<<' : illegal, right operand has type 'class ostream &(__cdecl *)(class ostream &)'
    (44) : error C2297: '<<' : illegal, right operand has type 'char [17]'
    (55) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'enum main::Status' (or there is no acceptable conversion)
    (63) : fatal error C1004: unexpected end of file found
    Error executing cl.exe.

    cosa devo correggere???

    grazie
    ciao

  2. #2

    nessuno sa

    o vuole rispondermi?????????????????????

  3. #3
    <<
    >>

    o sto invecchiando io... oppure...

    da quando l'operatore ">>" o "<<" serve per delimitare una stringa?...
    Vladislav III din Sighisoara,
    conte di domnitor al Valahiei
    denumit Tepes sau al Dracului


    ...ce tie nu-ti place altuia nu-i face...

  4. #4
    Utente di HTML.it L'avatar di belele
    Registrato dal
    Oct 2001
    Messaggi
    24
    nella riga 40 questo non va bene
    << life -= 10<<

    perchè life -= 10 non è accettato, prova a mettere una parentesi, così

    << (life -= 10)<<

    oppure convertilo in stringa o in uno degli operatori capiti dal (metodo) <<

    per gli altri non ho guardato ma credo che siano simili

    ciao

    :adhone: :adhone: :adhone:
    sòio mi !!!!!!!!!!!!!!

    Uno dei segreti della felicità è la cattiva memoria

  5. #5
    credo dovrò aggiornarmi un pochetto...
    ma è c++ standard?...
    Vladislav III din Sighisoara,
    conte di domnitor al Valahiei
    denumit Tepes sau al Dracului


    ...ce tie nu-ti place altuia nu-i face...

  6. #6
    Utente di HTML.it L'avatar di belele
    Registrato dal
    Oct 2001
    Messaggi
    24
    si è la gestione standard degli stream

    in realtà ">>" e "<<", uno per l'input e uno per l'output, sono simili alla concatenazione di stringhe fatte con "+" o "+="

    << e >> sono degli operatori che a tutti gli effetti sono dei metodi normali

    Se non li conosci è perchè sono usati poco nella programmazione normale perchè poco flessibili, io li userei solo per scrivere file di record a lunghezza variabile, appunto poco usati

    ciao
    :adhone: :adhone: :adhone:
    sòio mi !!!!!!!!!!!!!!

    Uno dei segreti della felicità è la cattiva memoria

  7. #7
    x belele :di solito cosa usi?????? potresti farmi un esempio di codice?
    Se in un primo momento l'idea non è assurda, allora non c'è nessuna speranza che
    si realizzi
    .
    Os: WinME
    Lang: C++
    Editor: C++ Builder 6 Enterprise

  8. #8
    Originariamente inviato da Vlad Tepes
    credo dovrò aggiornarmi un pochetto...
    ma è c++ standard?...
    leggi un po qui
    Se in un primo momento l'idea non è assurda, allora non c'è nessuna speranza che
    si realizzi
    .
    Os: WinME
    Lang: C++
    Editor: C++ Builder 6 Enterprise

  9. #9
    Utente di HTML.it L'avatar di belele
    Registrato dal
    Oct 2001
    Messaggi
    24
    Originariamente inviato da lucasp
    x belele :di solito cosa usi?????? potresti farmi un esempio di codice?
    di solito apro il file in modo binario, anche se contiene record a lunghezza variabile, poi uso la scrittura passando la stringa già completa assieme al numero di byte da scrivere

    fRet = fOpenFile(kModoInputOutput | kModoBinario, flagProt);
    ...
    _String Testo = "un po di roba";
    Testo += "Altra roba";
    ...
    File.write(Testo , Testo.GetLunghezza());

    questo è quello che faccio più o meno, non ho tempo di farti un esempio semplice, se vuoi allego le classi (sono 5 per interfacciare gli stream ed una per le stringhe)

    ciao


    :adhone: :adhone: :adhone:
    sòio mi !!!!!!!!!!!!!!

    Uno dei segreti della felicità è la cattiva memoria

  10. #10
    allega, allega :gren:
    Se in un primo momento l'idea non è assurda, allora non c'è nessuna speranza che
    si realizzi
    .
    Os: WinME
    Lang: C++
    Editor: C++ Builder 6 Enterprise

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.