Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    4

    Problema con lo scanf in C

    Salve, sono un novizio del forum e soprattutto nella programmazione, vorrei chiedere a tutti coloro che leggeranno questo post, se c'è una libreria oppure un altro metodo per rendere un valore dopo aver eseguito lo scanf() apparentemente invisibile, perchè il mio problema è che questo valore inserito da tastiera lo devo utilizzare, ma poi lo voglio "cancellare" e sostituire con un altro valore, utilizzando una stessa variabile.
    Questa richiesta è solo per rendere il programma stampato più interpretabile da chi lo vuole utilizzare ( solo io ).
    Inoltre volevo, dato che sono già qui, chiedere se in C è possibile attraverso qualche libreria creare degli effetti grafici, dei puntatori o cose del genere, perchè così come vengono stampati i programmi sono in bianco e nero e non attirano l'attenzione.

    Grazie, ciao

  2. #2
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    se c'è una libreria oppure un altro metodo per rendere un valore dopo aver eseguito lo scanf() apparentemente invisibile, perchè il mio problema è che questo valore inserito da tastiera lo devo utilizzare, ma poi lo voglio "cancellare" e sostituire con un altro valore, utilizzando una stessa variabile.
    Cosa intendi per "rendere un valore apparentemente invisibile" ?
    Non esiste una cosa come "cancellare un valore", al limite puoi cambiare il valore della variabile.
    Ma devi spiegarti meglio, non ho capito cosa vuoi fare.

    Per quanto riguarda le librerie grafiche (anche se devo dire che sarebbe stato facile cercare su Google) ce ne sono tante: OpenGL, wxWidgets, su windows c'è windows.h e su linux ncurses ... informati su Google e vedi te cosa scegliere.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    4
    Si, intendo cambiare il valore di una variabile che prima ho inserito da tastiera con uno scanf() e poi voglio rendere uguale alla somma di altri valori.

    Ho cercato, ma veramente ho trovato altre cose che non centravano con quello che avevo scritto, di solito le ricerche le so fare. E' quando non riesco a trovare un risultato che chiedo aiuto nei forum Grazie comunque per le librerie elencate.

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    wxWidgets è solo per C++ e non dovrebbero esserci bindings...
    Puoi usare le gtk per il C o molte altre...
    OpenGL è per la grafica 3D...
    Per cambiare valore ad una variabile basta un'assegnazione:
    codice:
    nome_variabile = valore;
    Dove valore è un valore letterale/numerico oppure un espressione che ha come risultato il tipo della variabile...

    Comunque prima di imparare una libreria grafica (GUI o 3D che sia) ti consiglio di comprare un libro e studiare il C perchè se non sai come cambiare valore ad una variabile vedo un poì difficile il poter gestire un'interfaccia grafica...

    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    4
    Non mi riferivo a quello, intendevo per esempio:

    int main(){
    int a,b,c,i;
    printf("Numero: ");
    scanf("%d",&a);
    scanf("%d",&b);
    scanf("%d",&c);
    for(i=0;i<c;i++){
    a=2*b;
    b=a/2;
    }
    printf("\t%d,\t%d",a,b);

    In questo caso il programma stamperà prima a e b appena dopo Numero:
    Infine dopo il ciclo for stamperà accanto un altro valore di a e di b.
    Io voglio che il programma non stampi a video a e b iniziali, ma solo i risultati finali, utilizzando però per i calcoli del ciclo for quelli iniziali.

    Capito ? Insomma vorrei oscurare in stampa il primo valore delle variabili sostituendolo dopo il ciclo con quello finale

    Grazie

  6. #6
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Apparte che ti stamperà sempre 2 volte il valore iniziale di b, devi utilizzare le librerie di sistema per cancellare la schermata oppure dare un
    system("cls");
    o
    system("clear");
    a seconda del sistema...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    4
    e per quei due system è necessaria una libreria diversa da stdio.h stdlib.h conio.h ?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Quelle non sono librerie ma semplici include.

    Qual è il problema? Hai difficoltà ad usare quelle righe?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    No, è semplicemente una chiamata ad un'istruzione shell, quindi dipendente dal sistema in cui ti trovi.
    system: il solito primo risultato di Google...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  10. #10
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Originariamente inviato da oregon
    Quelle non sono librerie ma semplici include.
    Quei "semplici include" sono le librerie standard C che poi essendo standard tu possa considerarle in un certo senso parte del linguaggio è un'altro discorso.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

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.