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ú

Temas - JoseCheO

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

typedef struct nodo {
   char nombre[20];
   int cedula;
   float precio;
   struct nodo *siguiente;
} tipoNodo;
typedef tipoNodo *pNodo;
typedef tipoNodo *Lista;

Lista lista = NULL;

void InCompra ();
void Insertar(Lista *plista, char nom[20],int pci,float ppre);
int ListaVacia(Lista plista);
void BorrarLista(Lista *);
void MostrarLista(Lista plista);
void Borrar (Lista *plista, int bci);

void InBorrar(){
   
   int c=0;
   printf("Cedula de Comprador a Borra:          ");
   scanf("%d",&c);
   Borrar(&lista,c);
   printf("\n\nComprador Eliminado\n\n");
   
      
}
void mostrar_menu() {
   printf("\n\nMenu:\n=====\n\n");
   printf("1.- Agregar Compra\n");
   printf("2.- Borrar Compra\n");
   printf("3.- Mostrar Lista de Compras\n");
   printf("4.- Salir\n\n");
   printf("Escoge una opcion: ");
   printf("\n \n ");
}
void InCompra(){
   
   char n[20];
   int c;
   float pe;
   printf("\n \n");
   printf("Nueva Compra");
   printf("\n \n");
   printf("Nombre:    ");
   scanf("%20[^\n]",n);
   printf("Cedula:    ");
   scanf("%d",&c);
   printf("\n");
   printf("Precio de Compra:    ");
   scanf("%f",&pe);
   printf("\n");      
   printf("===========================================================");
   printf("\n \n");
   Insertar(&lista, n,c,pe);
   }



void Borrar(Lista *lista, int v) {
   pNodo anterior, nodo;
   
   nodo = *lista;
   anterior = NULL;
   while(nodo && nodo->cedula < v) {
      anterior = nodo;
      nodo = nodo->siguiente;
   }
   if(!nodo || nodo->cedula != v) return;
   else { /* Borrar el nodo */
      if(!anterior) /* Primer elemento */
         *lista = nodo->siguiente;
      else  /* un elemento cualquiera */
         anterior->siguiente = nodo->siguiente;
      free(nodo);
   }   
}

void Insertar(Lista *lista, char no[20],int ci, float pre) {
   pNodo nuevo, anterior;
   /* Crear un nodo nuevo */
   
   nuevo = (pNodo)malloc(sizeof(tipoNodo));
   nuevo->nombre[20] = no[20];
   nuevo->cedula = ci;
   nuevo->precio = pre;
   /* Si la lista está vacía */
   if(ListaVacia(*lista) || (*lista)->precio > pre) {
      /* Añadimos la lista a continuación del nuevo nodo */
      nuevo->siguiente = *lista;
      /* Ahora, el comienzo de nuestra lista es el nuevo nodo */
      *lista = nuevo;
   } else {
      /* Buscar el nodo de valor menor a v */
      anterior = *lista;
      /* Avanzamos hasta el último elemento o hasta que el siguiente tenga
      un valor mayor que v */
      while(anterior->siguiente && anterior->siguiente->precio <=pre)
         anterior = anterior->siguiente;
      /* Insertamos el nuevo nodo después del nodo anterior */
      nuevo->siguiente = anterior->siguiente;
      anterior->siguiente = nuevo;
   }
   
}

int ListaVacia(Lista lista) {
   return (lista == NULL);
}

void BorrarLista(Lista *lista) {
   pNodo nodo;
   while(*lista) {
      nodo = *lista;
      *lista = nodo->siguiente;
      free(nodo);
   }
}

void MostrarLista(Lista lista) {
   pNodo nodo = lista;
   if(ListaVacia(lista)) printf("Lista vacia\n");
   else {
      printf("\nListado General\n");
      while(nodo) {
         printf("-> Nombres: %s     -> Cedula: %d  Precio: %.2f -> \n",nodo->nombre,nodo->cedula,nodo->precio);
         nodo = nodo->siguiente;
      }
      printf("\n");
   }

}


   
int main() {
      
   char opcion;
   
   
   do {
      mostrar_menu();
      opcion = getch();
      switch ( opcion ) {
      case '1': InCompra();
         break;
      case '2':InBorrar();
         break;
      case '3':MostrarLista(lista);
         break;
      case '4': exit( 1 );
      default: printf( "Opcion no valida\n" );
         break;
      }
   } while (opcion!='4');

   return 0;
   
}


Al mostrar lista... me los nombres aparecen unas letras raras
#2
Es decir! tengo un proyecto que registra los movimientos de vehiculos alquilados! como :
placa_vehiculo, rif_empresa, salida, llegada, fecha ...

y ps! necesito saber como ago para que se muestre un reporte de 12/12/2011 hasta 12/24/2011 ..

Agredezco su ayuda!
#3
Dim con As DataEnvironment1
Dim Modo, cadena

Private Sub Guardar_Click()
If Modo = "Nuevo" Then
con.rsvehiculos.Close
    con.rsvehiculos.Open "Select * From vehiculos where placa = 000"
    con.rsvehiculos.AddNew
  con.rsvehiculos.Fields("placa") = t1.Text
    con.rsvehiculos.Fields("tipo") = t2.Text
    con.rsvehiculos.Fields("marca") = t3.Text
    con.rsvehiculos.Fields("modelo") = t4.Text
    con.rsvehiculos.Fields("color") = t5.Text
    con.rsvehiculos.Fields("ano") = t6.Text
    con.rsvehiculos.Fields("fechaing") = t7.Text
    con.rsvehiculos.Fields("descripcion") = t8.Text
    con.rsvehiculos.UpdateBatch adAffectAllChapters
    con.rsvehiculos.Close
    con.rsvehiculos.Open "Select * From vehiculos"
    cadena = t1.Text
    Buscar1 cadena
    End If
If Modo = "Modificar" Then
        con.rsvehiculos.Find "placa ='" & Trim(cadena) & "'"
  con.rsvehiculos.Fields("placa") = t1
con.rsvehiculos.Fields("tipo") = t2
con.rsvehiculos.Fields("marca") = t3
con.rsvehiculos.Fields("modelo") = t4
con.rsvehiculos.Fields("color") = t5
con.rsvehiculos.Fields("ano") = t6
con.rsvehiculos.Fields("fechaing") = t7
con.rsvehiculos.Fields("descripcion") = t8
        con.rsvehiculos.Update
End If
Modo = ""
ApagarCajas Me
t7.Enabled = False
End Sub


ME DI CUENTA QUE SI SOLO INTRODUZCO DATOS DE DOS CARACTERES EJEMPLO "AA" EN TODOS LOS CAMPOS ME ACEPTA TODO..!! PERO SI ESCRIBO ALGO COMO "PPP" ME MANDA ESE ERROR..!! AYUDA PORFAVOR
#4
Dim txtnombre As String
Dim txtclave As String
Dim cn As DataEnvironment1
Private Sub entrar_Click()
txtnombre = Text1.Text
txtclave = Text2.Text
Set cn = New DataEnvironment1
cn.rsusuarios.Open "select * from usuario where nombre='" & txtnombre & "' and clave= '" & txtclave & "'"
If cn.rsusuarios.EOF = True Then
MsgBox "CLAVE O USUARIO INCORRECTO", vbCritical
Else
Unload Me
frmMenuP.Show 1
End If
End Sub

Private Sub salir_Click()
End
End Sub



ESTE ES UN FORMULARIO PARA VALIDAR EL USUARIO Y CLAVE PARA ACCEDR AL SISTEMA!!

AYUDA ME MANDA ESE ERROR Y AL DEPURAR SE POSICIONA  EN cn.rsusuarios.Open "select * from usuario where nombre='" & txtnombre & "' and clave= '" & txtclave & "'" 
#5
Bueno el problema es que tengo una tabla en acce llamada mantenimiento ... dond introduzco datos de vehiculos que fueron reparados... necesito hacer que si un vehiculo se repite en la tabla me diga cuantas veces se repitio!
#6
ALGUN TUTO PARA CREAR REPORTES CON CONSULTAS SQL!
#7
Programación Visual Basic / AYUDA CON REPORTES....
11 Noviembre 2011, 05:59 AM
Bueno mi problema es q no me gusta el datareport que trae el visual... Y me han hablado de un programa llamado Crystal Report dond lo consigo y como lo instalo? o si hay otro metodo de hacer reportes mas facil...
#8
TENGO ESTE CODIGO QUE ME PERMITE INGRESAR 3 NUMERO EN CADA ARREGLO.. E IMPRIMIR LOS VALORES DE CADA UNO DE LOS ARREGLOS!

LO QUE NECESITO ES UNA FUNCION QUE ME PERMITA COMPARAR LOS ELEMENTOS DEL PRIMERO Y DEL SEGUNDO Y MOSTRAR UN ARREGLO CON LOS ELEMENTOS REPETIDOS!

GRACIAS


#include<iostream>
using namespace std;

void pedir(int matriz[3 ])
{
   for(int i=0; i<=2; i++)
   {
      cout << "Numero " << i<< ":? ";
      cin >> matriz[i ];
   }
}
void pedirB(int matriz[3 ])
{
   for(int i=0; i<=2; i++)
   {
      cout << "Numero " << i<< ":? ";
      cin >> matriz[i ];
   }
}
void mostrar(int matriz[3 ])
{
   for(int i=0; i<=2; i++)
      cout << matriz[i ] << " ";
      }

void mostrarB(int matriz[3 ])
{
   for(int i=0; i<=2; i++)
      
      cout<<matriz[i ] << " ";
      }

int main()
{
   int matriz[3 ]={0},resultado[ 3]={0};
   cout<<"LLENE PRIMER TABLA"<<endl;
   pedir(matriz);
   cout<<"LLENE SEGUNDA TABLA"<<endl;
   pedirB(matriz);
   cout<<"ELEMENTOS DE LA PRIMERA TABLA"<<endl;
   mostrar(matriz);
   cout<<endl;
   cout<<"ELEMENTOS DE LA SEGUNDA TABLA"<<endl;
   mostrarB(matriz);
}
#9
Programación C/C++ / Arreglo AYUDA!
9 Noviembre 2011, 20:52 PM
AYUDA CON MI EJERCICIO..

Diseñe una funcion q reciba por parametro dos arreglos de 10 elementos cada uno y realice la INTERCECCION de los 2 arreglos , es decir todo elemento que se encuentre en el arreglo A y tambien se encuentre en el arreglo B. el resultado debe ser almacenado en un arreglo, pero si esa repetido solo debe aparecer una sola vez en el arreglo resultado, dicho arreglo sera retornado por la funcion