El equivalente a la libreria stdio.h viene siendo <iostream > y para poder imprimir algo en pantalla en lugar de usar printf puedes usar cout<< para leer en lugar de usar scanf puedes usar cin>> , te dare un ejemplo corto en caso de que te hayas mareado con las respuesta de los demas compañeros jaja
#include <iostream>
using namespace std ;
int main() {
int numero;
cout<<"Escribe un Numero"<<endl;
cin >> numero;
cout <<"Tu numero es :" <<numero <<endl;
return 0;
}
Como ves es un programa simple pero engloba el uso de printf y scanf
a ver Printf es para Imprimir en pantalla. Scanf es para leer el dato ingresado, guardar el valor en la variable asignada y %d es para variables enteras(int) que si 5 o 88 y el %f es para variables flotantes(float) que si 5.33 o 6.567 y el las librerias es donde estan guardados por asi decirlo la informacion, el codigo de las funciones que necesites. Por decir para operaciones basicas como para guardar una variable ingresada necesitas las librerias que nombraste y por ejemplo para hacer calculos matematicos directos que estan presentes en c necesitas la libreria <math.h> o que si para pausar tiempos necesitas <time.h> y asi hay mas
Significa Standard Input Output y tiene funciones para realizar operaciones de entrada/salida, como imprimir cosas en pantalla, obtener datos por teclado, abrir archivos, etc. Y por cierto, no es de C++, es de C.
el archivo de cabecera stdio.h que se agrega al codigo mediante la orden #include <stdio.h> tiene un montosn de funciones de entrada y salida, no solo de teclado y pantala, sino tambien de archivo de disco, impresora formatos de presentacion etc. Junto a su precompilado en la carpeta lib es una de las librerias standar mas completa
Cuando usas el formato, sea de entrada o de salida que eso es lo que haces al poner entre comillas dobles el signo porciento seguido de una letra o de numeros y letras, significa que tipo de dato vas a manejar, si usas %d se refiere a un decimal si %f un numero con punto flotante si %i un entero, si %s una cadena de caracteres, si %c una letra, %x un numero hexadecimal
Si ingresas un numero fuera de su formato, el programa se ciclará (entrara a enloquecerse, por lo que la orden posterior al scanf suele ser fflush(stdin); que significa limpiar el buffer de teclado para que el enter o algun resto que haya quedado no altere la funcionalidad del programa
el float no tiene esa funcion, solo que podes convertir mediante esa expresion un valor entero a float, como lo podes hacer de float a entero con int valorfloat= float(valorentero) ; valorint=int(valor float)
En el caso del entero si convertimos un caracter nos dará el numero ascii correspondiente al caracter
Te paso un listado de las funciones de stdio.h
▄▄▄▄▄▄▄▄▄
STDIO.H
▀▀▀▀▀▀▀▀▀
Functions
▀▀▀▀▀▀▀▀▀
clearerr fclose fcloseall fdopen
feof ferror fflush fgetc
fgetchar fgetpos fgets fileno
flushall fopen fprintf fputc
fputchar fputs fread freopen
fscanf fseek fsetpos ftell
fwrite getc getchar gets
getw perror printf putc
putchar puts putw remove
rename rewind rmtmp scanf
setbuf setvbuf sprintf sscanf
strerror _strerror tempnam tmpfile
tmpnam ungetc unlink vfprintf
vfscanf vprintf vscanf vsprintf
vsscanf
Constants, data types, and global variables
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
buffering modes BUFSIZ
EOF _F_BIN
_F_BUF _F_EOF
_F_ERR _F_IN
_F_LBUF _F_OUT
_F_RDWR _F_READ
_F_TERM _F_WRIT
FILE
FOPEN_MAX
fpos_t fseek/lseek modes
_IOFBF _IOLBF
_IONBF L_ctermid
L_tmpnam NULL
SEEK_CUR SEEK_END
SEEK_SET size_t
stdaux stderr
stdin stdout
stdprn SYS_OPEN
TMP_MAX
y te paso un codigo que usa formato de salida con printf
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
const int item=6;
const char arch[10]= "Num.dat\0";
int i, codigo;
float Total=0, Dcto=0, STot=0, desc;
float tabla[item][3];
char detalle[item][21], Nombre[21], cat;
char fecha[20];
void mostrar();
FILE *Reg;
main()
{
system("MODE CON: Lines=50");//para mas de 5 articulos
system("CLS");
for(i=0;i<item;i++){
printf("INGRESE LA CANTIDAD DEL ARTICULO VENDIDO: ==> ");
scanf("%f",&tabla[i][0]); fflush(stdin);
if(tabla[i][0]==0) break;//fin de carga
printf("INGRESE EL PRECIO X UNIDAD DEL ARTICULO: ==> "); //habilitar para precio y no codigo
scanf("%f",&tabla[i][1]); fflush(stdin);
printf("INGRESE DETALLE DEL ARTICULO VENDIDO: ==> ");
fflush(stdin);
gets(detalle[i]);
fflush(stdin);
}//for carga
fflush(stdin);
printf("INGRESE Nombre Cliente "); gets(Nombre);
printf("\nINGRESE Forma Pago\n(1)=Tarjeta Credito 1 pago;\n(2)=Tarjeta Credito 3 pagos;\n(3)=Tarjeta Credito 6 pagos; \n(4)=Tarjeta Debito;\n(5)Efectivo \n(Categoria En Numero) ==> ");
scanf("%c",&cat); fflush(stdin);
desc=0;
if(cat=='1')desc=-5; //5% para 1 y 3 pagos, 10% para 6 pagos
if(cat=='2')desc=-5;
if(cat=='3')desc=-10;
if(cat=='5')desc=25;
system("CLS");
mostrar();
system("PAUSE");
return 0;
} //#### --------------------- Fin del main -----------------
Answers & Comments
Que tal amigo !
El equivalente a la libreria stdio.h viene siendo <iostream > y para poder imprimir algo en pantalla en lugar de usar printf puedes usar cout<< para leer en lugar de usar scanf puedes usar cin>> , te dare un ejemplo corto en caso de que te hayas mareado con las respuesta de los demas compañeros jaja
#include <iostream>
using namespace std ;
int main() {
int numero;
cout<<"Escribe un Numero"<<endl;
cin >> numero;
cout <<"Tu numero es :" <<numero <<endl;
return 0;
}
Como ves es un programa simple pero engloba el uso de printf y scanf
Saludos!
.
Aquí puedes saber mas:
https://es.wikipedia.org/wiki/Stdio.h
https://es.wikipedia.org/wiki/Stdio.h
a ver Printf es para Imprimir en pantalla. Scanf es para leer el dato ingresado, guardar el valor en la variable asignada y %d es para variables enteras(int) que si 5 o 88 y el %f es para variables flotantes(float) que si 5.33 o 6.567 y el las librerias es donde estan guardados por asi decirlo la informacion, el codigo de las funciones que necesites. Por decir para operaciones basicas como para guardar una variable ingresada necesitas las librerias que nombraste y por ejemplo para hacer calculos matematicos directos que estan presentes en c necesitas la libreria <math.h> o que si para pausar tiempos necesitas <time.h> y asi hay mas
Significa Standard Input Output y tiene funciones para realizar operaciones de entrada/salida, como imprimir cosas en pantalla, obtener datos por teclado, abrir archivos, etc. Y por cierto, no es de C++, es de C.
Hola:
el archivo de cabecera stdio.h que se agrega al codigo mediante la orden #include <stdio.h> tiene un montosn de funciones de entrada y salida, no solo de teclado y pantala, sino tambien de archivo de disco, impresora formatos de presentacion etc. Junto a su precompilado en la carpeta lib es una de las librerias standar mas completa
Cuando usas el formato, sea de entrada o de salida que eso es lo que haces al poner entre comillas dobles el signo porciento seguido de una letra o de numeros y letras, significa que tipo de dato vas a manejar, si usas %d se refiere a un decimal si %f un numero con punto flotante si %i un entero, si %s una cadena de caracteres, si %c una letra, %x un numero hexadecimal
Si ingresas un numero fuera de su formato, el programa se ciclará (entrara a enloquecerse, por lo que la orden posterior al scanf suele ser fflush(stdin); que significa limpiar el buffer de teclado para que el enter o algun resto que haya quedado no altere la funcionalidad del programa
el float no tiene esa funcion, solo que podes convertir mediante esa expresion un valor entero a float, como lo podes hacer de float a entero con int valorfloat= float(valorentero) ; valorint=int(valor float)
En el caso del entero si convertimos un caracter nos dará el numero ascii correspondiente al caracter
Te paso un listado de las funciones de stdio.h
▄▄▄▄▄▄▄▄▄
STDIO.H
▀▀▀▀▀▀▀▀▀
Functions
▀▀▀▀▀▀▀▀▀
clearerr fclose fcloseall fdopen
feof ferror fflush fgetc
fgetchar fgetpos fgets fileno
flushall fopen fprintf fputc
fputchar fputs fread freopen
fscanf fseek fsetpos ftell
fwrite getc getchar gets
getw perror printf putc
putchar puts putw remove
rename rewind rmtmp scanf
setbuf setvbuf sprintf sscanf
strerror _strerror tempnam tmpfile
tmpnam ungetc unlink vfprintf
vfscanf vprintf vscanf vsprintf
vsscanf
Constants, data types, and global variables
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
buffering modes BUFSIZ
EOF _F_BIN
_F_BUF _F_EOF
_F_ERR _F_IN
_F_LBUF _F_OUT
_F_RDWR _F_READ
_F_TERM _F_WRIT
FILE
FOPEN_MAX
fpos_t fseek/lseek modes
_IOFBF _IOLBF
_IONBF L_ctermid
L_tmpnam NULL
SEEK_CUR SEEK_END
SEEK_SET size_t
stdaux stderr
stdin stdout
stdprn SYS_OPEN
TMP_MAX
y te paso un codigo que usa formato de salida con printf
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
const int item=6;
const char arch[10]= "Num.dat\0";
int i, codigo;
float Total=0, Dcto=0, STot=0, desc;
float tabla[item][3];
char detalle[item][21], Nombre[21], cat;
char fecha[20];
void mostrar();
FILE *Reg;
main()
{
system("MODE CON: Lines=50");//para mas de 5 articulos
system("CLS");
for(i=0;i<item;i++){
printf("INGRESE LA CANTIDAD DEL ARTICULO VENDIDO: ==> ");
scanf("%f",&tabla[i][0]); fflush(stdin);
if(tabla[i][0]==0) break;//fin de carga
printf("INGRESE EL PRECIO X UNIDAD DEL ARTICULO: ==> "); //habilitar para precio y no codigo
scanf("%f",&tabla[i][1]); fflush(stdin);
printf("INGRESE DETALLE DEL ARTICULO VENDIDO: ==> ");
fflush(stdin);
gets(detalle[i]);
fflush(stdin);
}//for carga
fflush(stdin);
printf("INGRESE Nombre Cliente "); gets(Nombre);
printf("\nINGRESE Forma Pago\n(1)=Tarjeta Credito 1 pago;\n(2)=Tarjeta Credito 3 pagos;\n(3)=Tarjeta Credito 6 pagos; \n(4)=Tarjeta Debito;\n(5)Efectivo \n(Categoria En Numero) ==> ");
scanf("%c",&cat); fflush(stdin);
desc=0;
if(cat=='1')desc=-5; //5% para 1 y 3 pagos, 10% para 6 pagos
if(cat=='2')desc=-5;
if(cat=='3')desc=-10;
if(cat=='5')desc=25;
system("CLS");
mostrar();
system("PAUSE");
return 0;
} //#### --------------------- Fin del main -----------------
void mostrar ()
{
/* incrementador nro factura */
int nf=0;
if((Reg=fopen(arch,"r+"))!= NULL)
{
fread(&nf, sizeof(nf),1,Reg);
fclose(Reg);
}
nf=nf +1;
Reg=fopen(arch, "w+");
fwrite(&nf, sizeof(nf), 2, Reg);
fclose(Reg);
/* */
time_t t;
struct tm *ahora;
time(&t);
ahora = localtime(&t);
sprintf(fecha, "%02d/%02d/%02d; %02d:%02d", ahora->tm_mday, ahora->tm_mon + 1,ahora->tm_year -100, ahora->tm_hour, ahora->tm_min);
printf(" **** ESTA ES LA FACTURA CARGADA POR USTED **** ");
printf("\nÃ--------------"
"---------------"
"---------------"
"-----------------´\n");
printf("³ SUPEMERCADO SHAO CHINI CUIT:304567654567; %18s³\n", fecha);
printf("³ Mayorista Y Minorista IngBr: 90222343344; Inic.Act 02/02/95³\n");
printf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ"
"ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ"
"ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ"
"ÄÄÄÄÄÄÄÄÄÄÄÄ´\n");
printf("³Cliente:%20s/" ,Nombre);
printf("FdP:%c; ", cat);
printf("[ %14s%#07d] ³\n", "Fact Nø 00032", nf);
printf("ÃÄÄÄÄÂÄÄÄÄÂÄÄÄÄÄÄ"
"ÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄ"
"ÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄ"
"ÄÄÄÂÄÄÄÄÄÄÄÄ´\n");
printf("³Cant³Cod.³ Detalles del ³Precio³ Sub ³Rec.");
if(cat < '5') printf("%2d%c", int(-desc),'%'); else printf("%2d%c", 0,'%');
printf("³ SUB ³\n");
printf("³Art.³Art.³ Articulo ³Unit ³ Total ³Dto.");
if(cat == '5') printf("%2d%c", int(desc),'%'); else printf("%2d%c", 0,'%');
printf("³ TOTAL ³\n");
printf("ÃÍÍÍÍÅÍÍÍÍÅÍÍÍÍÍÍÍÍÍ"
"ÍÍÍÍÍÍÍÍÍÍÅÍÍÍÍÍÍÅ"
"ÍÍÍÍÍÍÍÅÍÍÍÍÍÍÍÅÍ"
"ÍÍÍÍÍÍÍ´\n");
for(i=0; i<item; i++){
if(tabla[i][0]!=0){
printf("³%4.0f³",tabla[i][0]);
printf(" %02.0f³",tabla[i][2]);
printf("%19s³",detalle[i]);
printf("%6.2f³",tabla[i][1]);
STot=tabla[i][0]*tabla[i][1];
printf("%7.2f³",STot);
Dcto=(STot * desc)/100;
if(cat < '5')printf("%7.2f³",-Dcto); else printf("%7.2f³",Dcto);
printf("%8.2f³\n",STot-Dcto);
Total= Total + (STot - Dcto);
}
else
{
printf("³----³----³-----"
"--------------³---"
"---³-------³---"
"----³--------³\n");
}
printf("ÃÄÄÄÄÅÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ"
"ÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄ"
"ÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´\n");
}//del for
printf("ÃÄÄÄÄÁÄÄÄÄÁÄÄÄÄÄÄÄÄÄ"
"ÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄ"
"ÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄ´\n");
printf("³ *** EL TOTAL DE LAS OPERACIONES ES: ÍÍÍÍÍÍ> %13.2f³\n", Total);
printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ"
"ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ"
"ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n\n");
} //fin del void mostrar
Saludos
Antonio