Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    17

    input in c di un formato hh:mm:ss

    Salve ragazzi ho una domanda da farvi:
    devo fare un programma in C che prenda in input un orario espresso come hh:mm:ss, come devo strutturare la scanf in modo da utilizzarne solo una per prendere in input i valori in tre differenti variabili?

    es:
    inserisci l'ora in hh:mm:ss
    input dell'utente------->23:30:00

    come prendo in input il 23 nella variabile hvar, il 30 nella variabile mvar, lo 00 nella variabile svar con una sola scanf???

  2. #2
    codice:
    scanf("%d:%d:%d",&hvar, &mvar, &svar);
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    17
    Ok, grazie mille della risposta, un'altra cosa:
    e se io volessi fare in modo che non debba essere l'utente ad inserire i : come potrei fare?

    es:

    -inserisci l'ora nel formato hh:mm:ss
    utente inserisce ---->12
    stampa in automatico di : senza andare a capo----->12:
    utente inserisce---->12:23
    stampa in automatico di : senza andare a capo----->12:23:
    ecc...


    io ho provato così:
    printf("Inserisci l'orario espresso come hh:mm:ss\n");
    scanf("%d",&hhvar);
    printf(":");
    scanf("%d",&mmvar);
    printf(":");
    scanf("%d",&ssvar);
    printf(":");

    ma mi stampa i : sempre a capo... come faccio???



    grazie mille delle risposte!!!

  4. #4
    Temo che tu, senza ricorrere a funzioni non standard, non possa evitare il ritorno a capo, perché si tratta di un elemento inserito dall'utente (quando preme Invio).
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    Originariamente inviato da aemxle
    e se io volessi fare in modo che non debba essere l'utente ad inserire i : come potrei fare?
    i : nella stringa di controllo del formato della scanf servono per fargli ignorare i trattini... li levi e chiederai all'utente di inserire la data senza i trattini... sarai poi tu a stamparla come ti pare con printf.

    Oppure se vuoi evitare qualsiasi problema e far sì che qualsiasi modo di inserimento funzioni usa il carattere di soppressione dell'assegnamento * nella stringa di formato.

    edit: missà che non ho capito bene cio che intendevi dire...

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    17
    Originariamente inviato da MItaly
    Temo che tu, senza ricorrere a funzioni non standard, non possa evitare il ritorno a capo, perché si tratta di un elemento inserito dall'utente (quando preme Invio).

    Capito, sono uno studente di informatica che ha appena iniziato, come libreria abbiamo introdotto solo stdio.h, quindi per ora non dovrei avere le competenze per effettuare una cosa del genere giusto? Grazie mille dell'aiuto comunque... un'ultima cosa: sapresti consigliarmi qualche guida di c da trovare online???

    Grazie ancora!!!

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.