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

    [C++] Piccolo aiutino per una domanda banale

    Allora ho implementato un codice, dopo alcune pene, che mi stampi tutti i numeri primi precedenti ad un certo numero arbitrario da inserire. Però vorrei sapere innanzitutto come posso fare per impedire al programma di terminare, e che quindi alla fine mi richieda "vuoi inserire un altro numero?" ed in secondo luogo, come impedire che se inserisco della spazzatura "ad esempio come "asd" o "la vispa teresa" o "55rt" o "0.003" ) il programma non vada in crash, ma mi getti fuori una frase del tipo "hai inserito dello schifo, riprova".

    Ecco il codice:
    codice:
     #include <iostream>
     #include <stdlib.h> 
     #include <iomanip>
    
     using namespace std;
     bool Premiere(int n) {
    
     if (n <=0) return false;
     if (n <= 2) return true;
     if (n % 2 == 0) return false;
     for (int i = 3; i < n/2; i = i + 2)
     if (n % i == 0) return false;
     return true;
     };
     int main() {
     int z;
     do {
     cout << "Fino a che numero vuoi che ti trovi i numeri primi? ";
     cin >> z;
     } 
     while (z <= 0);
     for (int i = 2; i <= z; i++)
     if (Premiere(i))
     cout << setw(3) << i;
     else cout << setw(3) << (i%20==0 ? '\n' : ' ' );
    
     return 0;
     };
    Grazie a tutti!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Guarda l'ultimo esempio a fondo pagina qui, dovrebbe andarti bene:
    http://stackoverflow.com/questions/5...-in-c-with-cin

    No, come non detto aspetta.

    Ecco: http://www.cplusplus.com/forum/beginner/17916/ l'ultimo esempio, quello con con la funzione strIsNumber e una più semplice fgets.

    Poi magari si fa anche con cin, io non lo so fare, dovrei documentarmi.

    Ciao.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Per ripetere il programma a richiesta, inserisci la chiamata della funzione nel main in un ciclo e controlla il ciclo con il risultato della domanda (s/n) ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4

    Scusate per quello che sto per chiedervi...

    Ciao a tutti, sono nuiovo in questo forum e non riesco a capire da dove posso postare una domanda. qualcuno di voi potrebbe indicarmi come fare? Grazie

  5. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590

    Re: Scusate per quello che sto per chiedervi...

    Originariamente inviato da Giacoomo
    Ciao a tutti, sono nuiovo in questo forum e non riesco a capire da dove posso postare una domanda. qualcuno di voi potrebbe indicarmi come fare? Grazie
    C'è un'enorme tasto giallo con scritto Nuovo Messaggio...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    @Giacoomo: hai un messaggio privato con le indicazioni del caso.
    Per questo tipo di domande, manda un PVT (messaggio privato) ad uno dei moderatori di sezione.

    Fine OT, torniamo in topic.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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

    Moderazione

    Originariamente inviato da Heisenberg
    [C++] Piccolo aiutino per una domanda banale
    Per favore, usa titoli più significativi per le discussioni in futuro, che diano un'idea del problema trattato (vedi la mia correzione a questa discussione per uno spunto).
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

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.