Ho provato a fare questo programma per simulare le porte logiche,dove vi riporto come funzione scrittta, solo quella and se no era troppo lungo:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
void and(void);
void or(void);
void nand(void);
void nor(void);
void xor(void);
void xnor(void);
int main(){
int decisione;
printf("Quale tipo di porta logica vuoi utilizzare?");
printf("\n1 per \"and\"\n2 per \"or\"\n3 per \"nand\"\n4 per \"nor\"\n5 per \"xor\"\n6 per \"xnor\"\n");
scanf("%d", decisione);
if(decisione==1)
and();
if(decisione==2)
or();
if(decisione==3)
nand();
if(decisione==4)
nor();
if(decisione==5)
xor();
if(decisione==6)
xnor();
getch();
return 0;
}
void and(void){
int a, b, ris;
printf("Inserire il valore del primo operando ");
scanf("%d", a);
printf("\nInserire il valore del secondo operando ");
scanf("d", b);
printf("\nSecondo la relazione and, il risultato tra i due operandi e' ");
ris=a&&b;
}
Premettendo che ho pochissima dimestichezza con procedure e funzioni, mi viene visualizzato questo errore (compilando il programma così come l'ho postato):
codice:
C:\DOCUME~1\Ciro\IMPOST~1\Temp\cc4idaaa.o(.text+0xe1): porte.cpp: undefined reference to `or(void)'
C:\DOCUME~1\Ciro\IMPOST~1\Temp\cc4idaaa.o(.text+0xec): porte.cpp: undefined reference to `nand(void)'
C:\DOCUME~1\Ciro\IMPOST~1\Temp\cc4idaaa.o(.text+0xf7): porte.cpp: undefined reference to `nor(void)'
C:\DOCUME~1\Ciro\IMPOST~1\Temp\cc4idaaa.o(.text+0x102): porte.cpp: undefined reference to `xor(void)'
C:\DOCUME~1\Ciro\IMPOST~1\Temp\cc4idaaa.o(.text+0x10d): porte.cpp: undefined reference to `xnor(void)'
Se invece lo completo con tutte le funzioni mancanti (quindi or, nand, nor ecc), lo compila, me lo fa mandare in esecuzione, ma poi appena inserisco un dato per scegliere quale funzione eseguire, mi da una segnalazione d'errore e mi fa chiudere tutto.....help me please!