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

    [C] printf che salta il primo elemento

    Salve a tutti, ho un problema con un printf un po capriccioso,
    Vi copio la parte del codice:
    codice:
    printf("\nVuoi eliminare un elemento? y/n\n");
    scanf("%s", &delete);
    if (delete == 'y')
    {printf("\n Digita y oppure n se vuoi eliminare o meno l'elemento\n");
    for (i = 0; i < numeri - 1; i++)
    {
    printf("\t %s = %3.2f + i*%3.2f \n", n[i].codice, n[i].a, n[i].b);     <---------
    scanf("%s", &delete);
    il primo elemento che stampa però non mi da n[i].codice, cioè invece di stampare
    codice:
    z1=3.5+i*2.5
    z2=4.2+i*1.65
    ecc

    stampa
    codice:
      =3.5+i*2.5
    z2=4.2+i*1.65
    penso sia causato dalla new line che acquisisce lo scanf precedente, o sbaglio?
    come posso sistemarlo?

    grazie a tutti!
    Ultima modifica di MItaly; 26-01-2015 a 00:57 Motivo: Tag CODE

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Io mi preoccuperei prima di queste linee di codice evidentemente scorrette:
    codice:
    scanf("%s", &delete);
     if (delete == 'y')
    se delete è di tipo char la stringa di formattazione deve essere "%c"

    Per il tuo problema invece controlla se c'è realmente un qualcosa in n[0].codice
    Prova a inserire una puts prima di quel blocco di codice per vederne il contenuto.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    ops....Grazie mille!!...

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.