Antes de hacer eso voy y pido la contraseña.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: eferion en 10 Febrero 2015, 09:16 AM
El código que has puesto te enseña, únicamente, la porción mínima de código que todo programa en C ha de tener.
Pero nada más. No hace absolutamente nada, por lo que no hay nada que puedas enseñar con ese ejemplo.
Sin embargo:
#include <stdio.h>
int main()
{
printf( "Hola mundo" );
return 0;
}
Esto ya es otra cosa. Aquí ya puedes ver que el programa hace "algo" (vale, únicamente saca un mensaje por pantalla, pero por algo hay que empezar). Y no solo eso, también te sirve de base para poder explicar que hay funciones que ya están hechas y que para poder utilizarlas hay que usar los "includes" correspondientes.
Y ya de propina puedes explicar el significado del "return 0".
Un saludo.
Cita de: tremolero en 10 Febrero 2015, 07:35 AMFunciona perfecto.
Hombre... verdadero? el hola mundo es el primer codigo que se suele escribir y que esta igual en todos los sitios...
respondiendote a tu duda, no, no es asi, ni es valido.
si te fijas en ningun momento muestras el famoso "hola mundo".
//Fix para evitar el problema.
if ( argc < 3 ) {
cout<<"Ejemplo: programa \"Archivo a Abrir.cmd\" -c \"ArchivoSaliente.c\" "<<endl;
return 1;
}
Cita de: engel lex en 1 Febrero 2015, 02:13 AM
como que se salta el primer comando?
intentaste correrlo en el debugger y ponerle watch a las variables involucradas a ver que pasaba?
en que linea del programa que posteaste ves que da el error?
#include <cstdio>
#include <cctype>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <ctime>
//#include <windows.h> Por si se quiere un sleep
using namespace std;
FILE *archivo;
FILE *ccmd;
char *pos;
char lineas[150];
// DICCIONARIO DE PROCEDIMIENTOS, PARA SIMPLIFICAR:
/*
void fscls(){
fprintf(ccmd,"\tcout << string(50, '\\n');\n");
}
void fsfin(){
fprintf(ccmd,"\texit (0) ;\n");
}
void fspaus(){
fprintf(ccmd,"\tgetchar();\n");
}
void fsAboWhi(){
lineas[0] = '\0';
} */
void ArchCheq( FILE *fili,int n){
if (fili == NULL){
cout << "Error de archivo ("<< n << ")" << endl;
exit(1);
}
}
int main( int argc, char **argv) {
clock_t inicio,fin;
inicio=clock();
// Fix para que el programa no falle si no tiene comandos
if ( argc < 3 ) {
cout<<"Ejemplo: programa \"Archivo a Abrir.cmd\" -c \"ArchivoSaliente.c\" "<<endl;
return 1;
}
if ( !strcmp( argv[2], "-c" ) ) {
archivo = fopen(argv[1],"r");
ccmd = fopen(argv[3],"wt");
}else{
cout << "Ejemplo: programa \"Archivo a Abrir.cmd\" -c \"ArchivoSaliente.c\" "<< endl;
}
//Verificacion
ArchCheq(archivo,1);
ArchCheq(ccmd,2);
while (!feof(archivo))
{
fgets( lineas, 150, archivo ); //LEE EL ARCHIVO LINEA POR LINEA.
if ((pos=strchr(lineas, '\n')) != NULL) *pos = '\0'; //AGREGA CARACTER NULO
// INTERPRETADOR:
// PAUSAS
if (!strcmp(lineas,"PAUSE>NUL")){
fprintf(ccmd,"\tgetchar();\n");
lineas[0] = '\0';
}
if (!strcmp(lineas,"PAUSA>NUL")){
fprintf(ccmd,"\tgetchar();\n");
lineas[0] = '\0';
}
if (!strcmp(lineas,"PAUSE")){
fprintf(ccmd,"\tcout << \"Presione una tecla para continuar.\" << endl;\n");
fprintf(ccmd,"\tgetchar();\n");
lineas[0] = '\0';
}
if (!strcmp(lineas,"PAUSA")){
fprintf(ccmd,"\tcout << \"Presione una tecla para continuar.\" << endl;\n");
fprintf(ccmd,"\tgetchar();\n");
lineas[0] = '\0';
}
// EXIT, FALTA PARA ESPECIFICAR.
if (!strcmp(lineas,"EXIT")){
fprintf(ccmd,"\texit (0) ;\n");
lineas[0] = '\0';
}
if (!strcmp(lineas,"SALIR")){
fprintf(ccmd,"\texit (0) ;\n");
lineas[0] = '\0';
}
// SECTOR PARA LIMPIAR PANTALLA
if (!strcmp(lineas,"CLS")){
fprintf(ccmd,"\tcout << string(50, '\\n');\n");
lineas[0] = '\0';
}
if (!strcmp(lineas,"CLEAR")){
fprintf(ccmd,"\tcout << string(50, '\\n');\n");
lineas[0] = '\0';
}
if (!strcmp(lineas,"LIMPIAR")){
fprintf(ccmd,"\tcout << string(50, '\\n');\n");
lineas[0] = '\0';
}
// Sistema complejo
//ECHO
if (strncmp (lineas,"ECHO",1) == 0) // Si se verifica la existencia procede a procesar la linea
{
char ECHO[] = "ECHO ";
int posicion = strlen( lineas ) - strlen( strstr( lineas, ECHO ) );
/* // copiar la primera linea (no es necesario en este caso)
for( int a = 0; a < posicion; a++ )
lineas[ a ] = lineas[ a ];
*/
//copia la segunda linea
for( int a = posicion; a < strlen( lineas ); a++ )
lineas[ a ] = lineas[ a+5 ]; // 5 es el tamaño del ECHO
fprintf(ccmd,"\tcout << \"%s\" << endl;\n",lineas);
lineas[0] = '\0';
}
if (!strcmp(lineas,"\0"))
{
}else{
fprintf(ccmd,"\t%s\n",lineas); // SI NO COINCIDE CON NINGUNO LO IMPRIME EN C/C++ (MUY BETA).
}
// Sleep(100); requiere windows.h
}
fclose(archivo);
fclose(ccmd);
cout << "\x5C\x5C Interpetracion finalizada \x5C\x5C" << endl;
fin=clock();
printf("Tiempo transcurrido: %f segundos\n", (fin-inicio)/(double)CLOCKS_PER_SEC);
}
Cita de: VintageChanel en 30 Enero 2015, 01:55 AM
Hola tengo que hacer un programa donde yo inserte un dato y su prioridad y que se ordene en una cola segun la prioridad.
El CodeBlocks me esta tirando un error y no me doy cuenta que esta mal, ojala puedan ayudarme, aca esta el codigo:ColaInt *CrearColaInt()
{
ColaInt *nueva = (CrearColaInt *)malloc(sizeof(ColaInt));
if(nueva != NULL)
{
nueva->pri = NULL;
}
return nueva;
}
Error:
In function 'CrearColaInt':
expected expression before ')' token
En la linea 3
Gracias por su ayuda