Menú

Mostrar Mensajes

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ú

Mensajes - ProN00b

#1
Programación C/C++ / Re: programacion en c
17 Noviembre 2013, 00:40 AM
En esta linea

scanf("%f", & v);

Tienes que pegar el & al v, de tal forma que quede asi

scanf("%f", &v);

Si lo colocas separado no te va a pasar nada... prueba y comenta

Otra cosa..

El salto de linea no es /n ... es con la otra barra \n y en el printf..

printf("/n el total de ventas es %5.2f");

Tienes que colocar la variable a mostrar...

te tiene que quedar algo asi

printf("\n el total de ventas es %5.2f",variable); colocas una coma --> , al cerrar las comillas y despues de la coma, escribes la variable que quieres motrar, que creo que es tv, entonces colocas

printf("\n el total de ventas es %5.2f",tv);
#2
Este es mi nuevo codigo.

#include <stdlib.h>
#include <stdio.h>

#define CR 13 //caracter
#define LF 10 //Fin de linea


void cambia_caracter(char **xp, char **yp) {
  char *temp;

  temp = *xp;
  *xp = *yp;
  *yp = temp;
}


void ordena_string (char *s[], int len)
{
  int i,k; /* indice del vector y contador */
  char swaps=1; /* variable booleana: true si se produjo un swaps */

  for (k=1; k<=len-1 && swaps; k++) {
  swaps=0;
  for (i=0; i<len-k; i++)
  if (strcmp(s[i],s[i+1])>0) {
      /* cambia */
      cambia_caracter(&s[i], &s[i+1]);
      swaps=1;
  }
  }
}

int main(int argc, char** argv) {
   
char *inputFileName, *outputFileName;
FILE *inputFilePtr, *outputFilePtr;
char c;
char end_line;

/* inicializa, precaución */
inputFilePtr = NULL;
outputFilePtr = NULL;

if (argc < 2) {
printf("Error: falta nombre de archivo a procesar\n");
return -1;
}

inputFileName = argv[1];
if ((inputFilePtr = fopen(inputFileName, "r+")) == NULL) {
printf("Error: no se pudo abrir (o no existe) el archivo '%s'\n", inputFileName);
return -1;
}

/* Si especificó destino de salida */
if (argc >= 3) {
outputFileName = argv[2];
if ((outputFilePtr = fopen(outputFileName, "w")) == NULL) {
printf("Error: no se pudo abrir (o no existe) el archivo '%s'\n", outputFileName);
return -1;
}
}
else
outputFilePtr = stdout; /* salida estándar */

/* Ahora imprime contenido a salida apuntada por outFilePtr
   Nota: cuando se lee CR o LF (fin de linea) se activa la bandera end_line, la cual sólo
   se desactiva cuando no se lee ni CR ni LF. Mientras end_line == 1, no se imprimen
   caracteres a la salida.
*/
end_line = 0;
while ((c = fgetc(inputFilePtr)) != EOF) {

if ((c == CR || c == LF) && !end_line) { /* fin de linea */
fprintf(outputFilePtr, "\n");
end_line = 1;
}

if (end_line && c != CR && c != LF)
end_line = 0;

if ( !end_line ) /* si no fin de linea, imprimir el caracter */
fputc(c, outputFilePtr);
}

/* Cierra archivos abiertos (si fueron abiertos serán no-NULL) */
if (inputFilePtr != NULL) fclose(inputFilePtr);
if (outputFilePtr != NULL) fclose(outputFilePtr);

return 0;
}


Lo que ahora no entiendo es mocidifcar mi codigo, para que cuando entre en el archivo, me guarde todo el conenido en un buffer o un arreglo de caracteres, para luego poder ordenarlo con las funciones que agregue... alguien podria editarlo porfavor? estoy urgido!
#3
Gracias rir3760 pero como hago lo primero? que me dijiste lo de la 1) ?

La cosa suena facil, pero no es tan asi, mira te explico..

Este es el planteamiento de lo que me han mandado a hacer.

Se tiene que hacer su propio modelo del comando sort en Linux, que ordena las líneas de un archivo de texto, el cual se llamará ordenar. La forma de invocar el comando a travez de la consola, será asi.
Ordenar (opciones) ... (archivo.txt) ... (Pueden ser varios archivos o varias opciones)
El cual escribe por pantalla la ordenación de la concatenación de todos los archivos especificados.
Las opciones que tiene que implementar son :
-b : Ignora espacios en blanco
-f : ignora mayúsculas y minusculas
-I : No imprime caracteres especiales
-o, --output=File : Escribe el resultado del ordenamiento en File en vez de la salida estandar
-r : ordena al revez
--help : Muestra una ayuda sencilla
--version : Muestra la versión del programa
Se tiene que desarrollar en lenguaje C, para ejecutarse desde Linux/Debian
#4
Programación C/C++ / Duda en programa en C / Linux
16 Noviembre 2013, 16:52 PM
tengo este codigo, http://paste.ofcode.org/39b3fLgxWkAUxjYwqjchDQU Lo pongo ahi para no hacer el post largo.. me falta hacer que ordene el archivo que ponga por consola en LINUX. El programa deberia, en terminal, que yo escriba

suponiendo que mi programa se llama sort1...

./sort1 myfile.txt

Y si mi archivo de texto tiene 2143 me salga 1234, si tiene Hola 2 como 1 estas 3
Me salga 123 como estas Hola, ordenado... La cosa es que al passar el archivo por consola, no me muestra nada, y no se.. me pueden ayudar?

Y otra duda, como puedo hacer para que en la linea de comandos en Linux/Ubuntu Pueda concatenar N cantidad de archivos pasados por el argumento del main? por ejemplo 3 archivos, concatenarlos y ordenarlos?