Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - programma che simula un flip flop jk
Forum - C/C++ - programma che simula un flip flop jk

Avatar
matteog (Normal User)
Pro


Messaggi: 149
Iscritto: 10/04/2009

Segnala al moderatore
Postato alle 21:22
Sabato, 10/10/2009
Codice sorgente - presumibilmente C++

  1. #include "stdafx.h"
  2. #include <stdio.h>
  3. #include <windows.h>
  4. #include <conio.h>/* utilizzando le API di Windows */
  5. #include <iostream>
  6. using namespace std;
  7.   bool j=false,k=false,q=false,qn=false;
  8. void jkinput(bool j,bool k);
  9.  
  10.  
  11. int main()
  12. {
  13.        
  14.         while(";;")
  15.         {
  16.                 jkinput(j,k);
  17.                
  18.         }
  19.         system("pause");
  20.         return 0;
  21. }
  22.  
  23.  
  24.  
  25.  
  26.         void jkinput(bool j,bool k)
  27.     {
  28.    
  29.         char tasto=0;
  30.         if(_kbhit())
  31.         {
  32.                 tasto=_getch();
  33.         }
  34.         if(tasto=='J')
  35.         {
  36.            j=true;
  37.          
  38.            
  39.         }
  40.         else if(tasto=='j')
  41.         {
  42.                 j=false;
  43.                                
  44.         }
  45.         else if(tasto=='K')
  46.         {
  47.                 k=true;
  48.         }
  49.         else if(tasto=='k')
  50.         {
  51.                 k=false;
  52.        
  53.        
  54.         }
  55.         else
  56.         {
  57.                 tasto=-1;
  58.         }
  59.  
  60.         if(j==false&& k==false)
  61.         {   system("cls");
  62.                 cout<<" J  K  Q  Q+1"<<endl;
  63.             cout<<""<<j<<"  "<<k<<"   Q"<<"   Q+1"<<endl;
  64.                 cout<<"conclusione:"<<endl;
  65.                 cout<<"con J e K a 0 le uscite  non cambiano"<<endl;
  66.                
  67.         }
  68.         else if(j==true && k==false)
  69.         {
  70.                  system("cls");
  71.                 cout<<" J  K  Q  Q+1"<<endl;
  72.             cout<<""<<j<<"  "<<k<<"   0"<<"   1"<<endl;
  73.                 cout<<"conclusione:"<<endl;
  74.                 cout<<"con J a 1 e K a 0 le uscite hanno come uscita reset"<<endl;
  75.            
  76.         }
  77.         else if(j==false && k==true)
  78.         {
  79.                  system("cls");
  80.                 cout<<" J  K  Q  Q+1"<<endl;
  81.             cout<<""<<j<<"  "<<k<<"   1"<<"   0"<<endl;
  82.                 cout<<"conclusione:"<<endl;
  83.                 cout<<"con J  a 0 e K a 1  le uscite  hanno come uscita set"<<endl;
  84.          
  85.         }
  86.         else if(j==true && k==true)
  87.         {
  88.                 system("cls");
  89.                 cout<<" J  K  Q  Q+1"<<endl;
  90.             cout<<""<<j<<"  "<<k<<"   Q"<<"   Q+1"<<endl;
  91.                 cout<<"conclusione:"<<endl;
  92.                 cout<<"con J e K a 1 le uscite  vengono complementate"<<endl;
  93.          
  94.         }
  95.  
  96.         }




quando premouno dei tasti scelti ovvero K,k,J,j non cambia la stampa mi sapete aiutare??? il programma è possibile migliorarlo?

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 8:56
Domenica, 11/10/2009
E invece cambia, ma velocemente cosi' che forse tu non te ne accorgi.

P.S. La riga

while(";;")

non ha senso. Si scrive

while(1)

se si vuole usare la while, oppure

for(;;)

se si vuole usare la for per un ciclo infinito.

Ultima modifica effettuata da theprogrammer il 11/10/2009 alle 11:35
PM Quote
Avatar
matteog (Normal User)
Pro


Messaggi: 149
Iscritto: 10/04/2009

Segnala al moderatore
Postato alle 14:50
Domenica, 11/10/2009
0k grazie ma per far si di vedere la stampa che cambia come possso fare?qualche idea?

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 15:18
Domenica, 11/10/2009
Beh, mi sembra scontato ... attendi un tasto oppure imposti una pausa ...

PM Quote
Avatar
matteog (Normal User)
Pro


Messaggi: 149
Iscritto: 10/04/2009

Segnala al moderatore
Postato alle 15:26
Domenica, 11/10/2009
ok grazie
:rofl:

PM Quote