Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C++] problema classi e 4 operazioni

    sto seguendo la guida di questo sito, e sto creando una semplice applicazione da console ceh dati due numeri dall'utente, e fatta una scelta dall'utente, esegue una delle 4 operazioni scelta dall'utente. di sueguito il link per il download del progetto (sviluppato sotto Code::Blocks)
    applicazione per moltiplicazioni

    e qui i codici
    file classe_oper.h
    codice:
    #ifndef CLASSE_OPER_H_INCLUDED
    #define CLASSE_OPER_H_INCLUDED
    
    int somma(int x, int y)
    {
    int ris;
    ris = x + y;
    // Valore restituito dalla funzione
    return ris;
    }
    
    int differenza(int x, int y)
    {
    int ris;
    ris = x - y;
    // Valore restituito dalla funzione
    return ris;
    }
    
    int prodotto(int x, int y)
    {
    int ris;
    ris = x * y;
    // Valore restituito dalla funzione
    return ris;
    }
    
    int quoto(int x, int y)
    {
    int ris;
    ris = x / y;
    // Valore restituito dalla funzione
    return ris;
    }
    
    #endif // CLASSE_OPER_H_INCLUDED

    file main.cpp
    codice:
    #include <iostream>
    #include<stdio.h>
    #include"classe_oper.h"
    using namespace std;
    
    int main()
    {
        int a;
        int b;
        int scelta;
        int risultato;
        cout<<"inserisci il primo numero con cui vuoi fare una delle quattro operazioni\n";
        cin>>a;
        cout<<"inserisci il secondo numero con cui vuoi fare una delle quattro operazioni\n";
        cin>>b;
        cout<<"Scegli che operazione vuoi fare :\n";
        cout<<"1 addizione\n";
        cout<<"2 sottrazione\n";
        cout<<"3 moltiplicazione\n";
        cout<<"4 divisione\n";
        cin>>scelta;
    
        switch(scelta)
    {
    case (1):
    somma(a,b);
    cin>>risultato;
    break;
    case (2):
    differenza(a,b);
    cin>>risultato;
    break;
    case (3):
    prodotto(a,b);
    cin>>risultato;
    break;
    case (4):
    quoto(a,b);
    cin>>risultato;
    default:
    cout<<"NON HAI SCELTO NIENTE!!!\n";
    }
    cout<<risultato;
    }
    il problema e che durante l'esecuzione, io metto 1 OK
    1 OK e scelgo addizione, dovrebbe stampare 2, ma sta un sacco di tempo a calcolare e poi si blocca

  2. #2
    Le funzioni devono essere scritte in un file cpp chiamato come il corrispondente file header; nel file header devi mettere solo i prototipi delle funzioni.
    O hai letto male la guida oppure cambiala..


    Ciao

  3. #3
    quindi devo creare un file chiamato
    classe_oper.cpp
    e dentro cosa devo metterci



    poi nel file main.cpp posso lasciare cosi o devo cambiare qualcosa

  4. #4
    Originariamente inviato da DiegoFilippo
    quindi devo creare un file chiamato
    classe_oper.cpp
    e dentro cosa devo metterci



    poi nel file main.cpp posso lasciare cosi o devo cambiare qualcosa
    Dentro ci devi mettere tutto ciò che avevi messo nel file header, mentre nel file header (estensione .h) devi inserire i prototipi delle funzioni utilizzate in classe_oper.cpp.
    La main va bene così.


    Ciao

  5. #5
    In realtà solo ora mi sono accorto che nel titolo hai scritto classe, e io ho risposto in base a questo; in realtà leggendo il codice mi sono accorto che te non creavi una classe ma una libreria di funzioni: in questo ultimo caso allora è corretto ciò che è scritto nella guida, probabilmente sbagli ad includere l'header.
    Cosa vuoi fare? Una classe oppure solo funzioni?

  6. #6
    dalla guida penso di aver capito di voler creare un QUALCOSA che mi permtta di svolgere, in questo caso una dell 4 operazioni, senza dover scrivere tutte le volte il codice, non so se classe o funzioni.

    per quanto riguarda i prototipi, non capisco in che modo li devo fare

    grazie ciao

  7. #7
    Perfetto, non vuoi creare una classe con dei metodi e delle proprietà, vuoi semplicemente creare una libreria di funzioni da riutilizzare in più progetti.
    Devi creare una Static Library (Classe_oper.h) e inserire il tuo codice; compili e salvi la tua libreria in un percorso predefinito.
    Apri poi un altro progetto, e nelle intestazioni devi mettere:
    codice:
    include "percorsofile\\Classe_oper.h"
    A questo punto richiami le tue funzioni e tutto va..


    Fammi sapere


    Ciao

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.