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 - BJM

#1
El ISP es CANTV y se encuentra en Venezuela el data center Turnkey se encuentra en Australia. Mis Clientes Cuando van a realizar sus solicitudes al DNS llamado efactory.sytes.net tienen respuesta lenta. El paquete de datos comprado a Turnkey para el almacenamiento queda descartado, hay disponibilidad de sobra de RAM y CPU.

Cual podría ser entonces la causa del Problema?
#2
Java / GridBagLayout no posiciona los componentes
26 Octubre 2016, 16:01 PM
Dentro de la ventana Login los componentes se muestran totalmente desordenados, a pesar que estoy utilizando GridBagLayout

Código (java) [Seleccionar]

package drone;

import java.awt.*;
import java.sql.*;
import java.text.Collator;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.*;



public class Login extends javax.swing.JFrame {
//private JPanel panel1;
public static boolean RIGHT_TO_LEFT = false;
final static boolean shouldFill = true;
final static boolean shouldWeightX = true;
   
   
    public Login() {
        initComponents();
        this.setSize(Toolkit.getDefaultToolkit().getScreenSize());
        PnlFondo fondo = new PnlFondo();
        this.setLayout(new BorderLayout());
        this.add(fondo,BorderLayout.CENTER);
        //getContentPane().setLayout(null); 
        //addComponentsToPane(pane);
    }
public static void addComponentsToPane(Container pane) {
        if (RIGHT_TO_LEFT) {
            pane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
        }

        JLabel jLabel1,jLabel2,jLabel3;
        JTextField usuario;
        JPasswordField contraseña;
        JButton jButton2;
       
pane.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
if (shouldFill) {
//natural height, maximum width
c.fill = GridBagConstraints.HORIZONTAL;
}

jLabel1 = new JLabel();
if (shouldWeightX) {
c.weightx = 0.5;
}
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 200;
c.gridy = 100;
pane.add(jLabel1, c);

jLabel2 = new JLabel();
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 0.5;
c.gridx = 200;
c.gridy = 110;
pane.add(jLabel2, c);

jLabel3 = new JLabel();
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 0.5;
c.gridx = 2;
c.gridy = 0;
pane.add(jLabel3, c);

usuario = new JTextField("Long-Named Button 4");
c.fill = GridBagConstraints.HORIZONTAL;
c.ipady = 40;      //make this component tall
c.weightx = 0.0;
c.gridwidth = 3;
c.gridx = 0;
c.gridy = 1;
pane.add(usuario, c);
       
        contraseña = new JPasswordField("Long-Named Button 4");
c.fill = GridBagConstraints.HORIZONTAL;
c.ipady = 40;      //make this component tall
c.weightx = 0.0;
c.gridwidth = 3;
c.gridx = 0;
c.gridy = 1;
pane.add(contraseña, c);
       

jButton2 = new JButton();
c.fill = GridBagConstraints.HORIZONTAL;
c.ipady = 0;       //reset to default
c.weighty = 1.0;   //request any extra vertical space
c.anchor = GridBagConstraints.PAGE_END; //bottom of space
c.insets = new Insets(10,0,0,0);  //top padding
c.gridx = 1;       //aligned with button 2
c.gridwidth = 2;   //2 columns wide
c.gridy = 2;       //third row
pane.add(jButton2, c);
}
    private static void createAndShowGUI() {
        //Create and set up the window.
        JFrame frame = new JFrame("GridBagLayoutDemo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Set up the content pane.
        addComponentsToPane(frame.getContentPane());

        //Display the window.
        frame.pack();
        frame.setVisible(true);
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        usuario = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        contraseña = new javax.swing.JPasswordField();
        jButton2 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setText("Iniciar Sesion");

        jLabel2.setText("Usuario");

        jLabel3.setText("Contraseña");

        jButton2.setText("Aceptar");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(113, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(jLabel2)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addComponent(usuario, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(layout.createSequentialGroup()
                            .addGap(20, 20, 20)
                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(169, 169, 169)))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(contraseña, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(163, 163, 163))))
            .addGroup(layout.createSequentialGroup()
                .addGap(148, 148, 148)
                .addComponent(jButton2)
                .addGap(0, 0, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap(108, Short.MAX_VALUE)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel2)
                    .addComponent(usuario, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(11, 11, 11)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(contraseña, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton2)
                .addGap(107, 107, 107))
        );

        pack();
    }// </editor-fold>                       

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       
        String user=usuario.getText();
        String pass=contraseña.getText();
        if ((user.length()==0)||(pass.length()==0)){
           JOptionPane.showMessageDialog(rootPane, "Campo usuario o contraseña vacio");
             }else{
            Conexion mysql= new Conexion();
       Connection conn= mysql.conectar();
      /* if(conn!=null){
           JOptionPane.showMessageDialog(rootPane, "Conexion con base de datos");
       }*/
              try {
                  @SuppressWarnings("null")
                  Statement sentencia= conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
                ResultSet rs;
                rs = sentencia.executeQuery("SELECT * FROM usuarios WHERE Usuario='"+user+"' && Contraseña='"+pass+"'");
                Collator comparador = Collator.getInstance();
                comparador.setStrength(Collator.TERTIARY);
                String tem1=rs.getString("Usuario");
                String tem2=rs.getString("Contraseña");
                if(rs.next()&&comparador.equals(user,tem1)&&comparador.equals(pass,tem2)){
                    Menu inicio=new Menu();
                    inicio.setVisible(true);
                }
                else{
                    JOptionPane.showMessageDialog(rootPane, "Los datos son incorrectos");
                }
            } catch (SQLException ex) {
                Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        //if (user.equals()&&pass.equals());
    }                                       

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
                new Login().setVisible(true);
            }
        });
       
    }

    // Variables declaration - do not modify                     
    private javax.swing.JPasswordField contraseña;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JTextField usuario;
    // End of variables declaration                   
}


A quien pueda ayudar, gracias por adelentado
#3
Java / Problema con la conexión a la BD
11 Octubre 2016, 00:32 AM
Esta es la clase que contiene el codigo para la conexion con la base de datos

Código (java) [Seleccionar]

package drone;
import java.sql.*;
import javax.swing.*;

public class Conexion {
    public String db = "prototipo";
    public String user= "root";
    public String pass="";
    public String url= "jdbc:mysql://localhost/"+db;
    public Conexion()
    {
            }
   public Connection conectar()
   {
       java.sql.Connection link=null;
       Statement st=null;
       try{
                 Class.forName("com.mysql.jdbc.Driver");
                 link=DriverManager.getConnection(this.url, this.user, this.pass);
                 if(link!=null){
                     JOptionPane.showMessageDialog(null, "conexion establecida");
                 }
                 /*if(link!=null){
                     st=link.createStatement();
                 }*/
   }
       catch(Exception e)
       {
           JOptionPane.showMessageDialog(null, "fallo conexion");
           JOptionPane.showMessageDialog(null, e);
       }
       return link;
   }
    }



Esta es la clase Login que contiene el llamado al metodo conectar() de la clase Conexion, aqui tambien se genera el evento de boton

Código (java) [Seleccionar]

package drone;

import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import java.lang.*;


public class Login extends javax.swing.JFrame {

   
    public Login() {
        initComponents();
        this.setSize(Toolkit.getDefaultToolkit().getScreenSize());
        PnlFondo fondo = new PnlFondo();
        this.setLayout(new BorderLayout());
        this.add(fondo,BorderLayout.CENTER);
     
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        usuario = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        contraseña = new javax.swing.JPasswordField();
        jButton2 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("Registrarse");

        jLabel1.setText("Iniciar Sesion");

        jLabel2.setText("Usuario");

        jLabel3.setText("Contraseña");

        jButton2.setText("Aceptar");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jButton1)
                .addGap(46, 46, 46))
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(89, 89, 89)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel3)
                            .addComponent(jLabel2))
                        .addGap(75, 75, 75)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(usuario, javax.swing.GroupLayout.DEFAULT_SIZE, 64, Short.MAX_VALUE)
                            .addComponent(contraseña)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(163, 163, 163)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jButton2)
                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(116, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(20, 20, 20)
                .addComponent(jButton1)
                .addGap(33, 33, 33)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, 27, Short.MAX_VALUE)
                        .addComponent(jLabel3)
                        .addGap(159, 159, 159))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(usuario, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(contraseña, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(29, 29, 29)
                        .addComponent(jButton2)
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
        );

        pack();
    }// </editor-fold>                       

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       
        String user=usuario.getText();
        String pass=contraseña.getText();
        if ((user.length()==0)||(pass.length()==0)){
           JOptionPane.showMessageDialog(rootPane, "Campo usuario o contraseña vacio");
             }else{
            Conexion mysql= new Conexion();
       Connection conn= mysql.conectar();
       if(conn!=null){
           JOptionPane.showMessageDialog(rootPane, "Conexion con base de datos");
       }
              try {
                  Statement sentencia= conn.createStatement();
                ResultSet rs;
                rs = sentencia.executeQuery("SELECT * FROM usuarios WHERE Usuario="+user+" && Contraseña="+pass+"");
                int encontrado=rs.getRow();
                if(encontrado==1){
                    Menu inicio=new Menu();
                    inicio.setVisible(true);
                }
                else{
                    JOptionPane.showMessageDialog(rootPane, "Los datos son incorrectos");
                }
            } catch (SQLException ex) {
                Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        //if (user.equals()&&pass.equals());
    }                                       

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Login().setVisible(true);
            }
        });
       
    }

    // Variables declaration - do not modify                     
    private javax.swing.JPasswordField contraseña;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JTextField usuario;
    // End of variables declaration                   
}



Gracias por adelantado quien me pueda ayudar
#4
PHP / Problema con codeigniter
12 Agosto 2016, 20:59 PM
My proyecto local con Xampp 1.8.1 and codeigniter 3.0.6 me da error 404 Page not Found

Código (php) [Seleccionar]

File htaccess:

`
RewriteEngine On
# !IMPORTANT! Set your RewriteBase here and don't forget trailing and leading
# slashes.
# If your page resides at
# http://www.example.com/mypage/test1
# then use
# RewriteBase /mypage/test1/
RewriteBase /codeigniter
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin

ErrorDocument 404 /index.php

`
File config:
$config['base_url'] = 'http://localhost/codeigniter';
$config['index_page'] = '';

$active_group = 'default';
$query_builder = TRUE;

File database:
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'sistemaderiego',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => TRUE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

File route:
$route['default_controller'] = 'Prueba';



Alguna ayuda?
#5
PHP / echo no imprime
25 Enero 2016, 16:54 PM
Código (php) [Seleccionar]
<html>
<head><title>php con html</title><head>

<body>

<? php
echo "Hola mundo!";
echo "Fin";
?>

</body>
</html>


He probado en chrome, opera, mozilla y el resultado es el mismo: El titulo "php con html" aparece en el borde del navegador pero no se imprime "Hola mundo". La URL no es el problema de lo contrario el title no apareceria.
#6
Java / Orientación acerca de proyecto en Java
17 Junio 2015, 17:13 PM
Debo realizar un proyecto llamado: Sistema de riego automatizado por goteo cuya aplicación voy a desarrollar utilizando Java, Dicho proyecto es un sistema de control, he leído que un sistema de este tipo requiere el manejo de los puertos seriales. Buscando en Internet no he encontrado ningún paquete que contenga las clases para manipular los puertos seriales, Cualquier opinión es Bienvenida.
#7
Programación C/C++ / Compilador se reinicia
1 Junio 2015, 23:49 PM
Funciona bien exepto que durante la ejecucion si pasa mucho tiempo sin introducir datos el compilador se reinicia

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

void ingresar();
void calcular();
void imprimir();

static int plana=400, rollo=250;
int tiempo=0,tipo=0,metros=0;

char nombre[10], apellido[10];
int des=0;
int main(){
   
  ingresar();
  calcular();
  imprimir();
  printf("\n\n");
  system("pause");
                     }
void ingresar(){
 
    printf(" \t\t\t***EMPRESA MAYA***");
    printf(" \n\nIngrese Nombre:");
    scanf("%s",&nombre);
    printf(" \n Ingrese Apellido:");
    scanf("%s",&apellido);
    printf(" \n Ingrese tiempo de cliente:");
    scanf("%d",&tiempo);
    printf(" \n Seleccione el tipo de maya:");
   
   
    do{
     printf(" \n 1..Maya Plana");
    printf(" \n 2..Maya en Rollo");
    printf(" \n opc: ");
    scanf("%d",&tipo);                           
    }while((tipo!=1) && (tipo!=2));
   
    printf(" \n Cantidad de metros:");
    scanf("%d",&metros);
   
    }
   
void calcular(){
   
    int costo=0;
   
     if(tiempo==5 && tipo==1){
       costo=plana*metros;
       des=costo*0.08;
             }
         if(tiempo>=6 && tipo==1){
           costo=plana*metros;
           des=costo*0.06;
                 }
                 if(tiempo==5 && tipo==2){
                    costo=rollo*metros;
                    des=costo*0.08;
                    }
                     if(tiempo>=6 && tipo==2){
                       costo=rollo*metros;
                       des=costo*0.06;
                      }       
                 
           
                  }
     
void imprimir(){
     
     printf(" \n\nDescuento cliente");
     printf(" \n\nNombre: %s\tApellido: %s", nombre,apellido);
     printf(" \n El descuento es: %d BsF",des);
     }

#8
Programación C/C++ / Duda con un while
1 Junio 2015, 18:20 PM
Necesito validar que la variable tipo solo tome como valor el 1 o 2, para esto utilize un do-while
pero el ciclo se repetia una y otra vez, ahora utilizo while y pasa lo mismo, donde podria estar el error?

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

void ingresar();
void calcular();

int valor=0,tiempo=0,tipo=0,metros=0;
float costo=0;
char nombre[10], apellido[10];

int main(){
   
  ingresar();
  calcular();

 
                     }
void ingresar(){
 
    printf(" Empresa Maya");
    printf(" \nIngrese nombre:");
    scanf("%s",&nombre);
    printf(" \n Ingrese Apellido:");
    scanf("%s",&apellido);
    printf(" \n Ingrese tiempo de cliente:");
    scanf("%d",&tiempo);
    printf(" \n Seleccione el tipo de maya:");
   
    printf(" \n 1..Maya Plana");
    printf(" \n 2..Maya en Rollo");
    printf(" \n opc: ");
    scanf("%d",&tipo);
    while(tipo!=1 || tipo!=2){
     printf(" \n 1..Maya Plana");
    printf(" \n 2..Maya en Rollo");
    printf(" \n opc: ");
    scanf("%d",&tipo);                           
    }
    printf(" \n Cantidad de metros:");
    scanf("%d",&metros);

    }
   
void calcular(){
     if(tiempo<6 && tipo==1){
                 costo=(400*(8/100))*metros;
                 }
                 if(tiempo<6 && tipo==2){
                 costo=(250*(8/100))*metros;
                 }
                  printf(" \n costo: %d",costo);
                  }
     
#9
Java / Flash player y Java
22 Marzo 2015, 16:32 PM
Voy a crear una app en java que estara conectado a un circuito, dicho circuito quiero simularlo utilizando flash player, es decir al activar acciones desde la app se ejecute en el circuito simulado. Existe alguna forma de hacer esto?
#10
Java / Fallo en inicializar matriz
5 Junio 2014, 16:57 PM
Código (java) [Seleccionar]

package matriz;

import java.util.Scanner;


public class Matriz {
   
    public static void main(String[] args) {
       
Scanner x = new Scanner (System.in);
    int m = 0,n = 0, i=0,j=0,a=0,b=0, c=0, d=0;
    int multi;
    int M[][] = new int[m][n];
     int N[][] = new int[a][b];
    System.out.println(" DIMENSIONES DE LA MATRIZ 1 ");
    System.out.println(" FILAS M[*][]: ");
    m = x.nextInt();
    System.out.println(" COLUMNAS M[][*]: ");
    n = x.nextInt();
     System.out.println(" LLENADO DE LA MATRIZ 1: ");
    for (i=0 ; i<m;i++){
    for(j=0;j<n;j++){
    System.out.print(" Valor ["+(i+1)+"]["+(j+1)+"]: ");
        M[i][j]= x.nextInt();
    }
    }
    System.out.println(" DIMENSIONES DE LA MATRIZ 2 ");
    System.out.println(" FILAS M[*][]: ");
    a = x.nextInt();
    System.out.println(" COLUMNAS M[][*]: ");
    b = x.nextInt();
    System.out.println(" LLENADO DE LA MATRIZ 2: ");
    for (c=0 ; c<a;c++){
    for(d=0;d<b;d++){
    System.out.println(" Valor ["+(c+1)+"]["+(d+1)+"]: ");
        N[c][d]= x.nextInt();
    }
    }
    multi =M[i][j] * N[c][d];
    System.out.println(" Multiplicacion de las matrices:  "+multi);
   
    }
}


En esta linea  M[j]= x.nextInt(); Netbeans me muestra el siguiente mensaje:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
Valor [1][1]:    at matriz.Matriz.main(Matriz.java:25)
Java Result: 1
#11
Como se puede abrir un programa en java cuyo codigo por defecto se almacena en un txt a traves de netbeans? El txt(codigo fuente) me lo envian por correo luego desearia poder correrlo desde el netbeans que tengo instalado en mi pc.
#12
Java / Problemas con JOptionPane.YES_NO_OPTION
28 Octubre 2013, 21:39 PM
En esta linea el editor indica existencia de error:
Código (java) [Seleccionar]
opc2=JOptionPane.showConfirmDialog(null," ¿Finalizo el ingreso de nuevos clientes? ",JOptionPane.YES_NO_OPTION);

la cual se encuentra en una sola linea, el codigo:

Código (java) [Seleccionar]
package banco;

import javax.swing.*;

public class Banco {
static int cd,opc,opc2,numclientes1,numclientes2,numclientes3,numclientes4;   
static String leer,cuenta,nombre,tipo;
static double saldo,interes,newsaldo,totalinteres, mayor=1,menor=10000,saldointeres;   
    public static void main(String[] args) {
        do{
        nombre=JOptionPane.showInputDialog(null,"Ingrese Nombre del cliente");
        leer=JOptionPane.showInputDialog(null,"Ingrese CI del cliente");
        cd=Integer.parseInt(leer);
        cuenta=JOptionPane.showInputDialog(null,"Nro de cuenta");
        leer=JOptionPane.showInputDialog(null,"Ingrese saldo actual");
        saldo=Double.parseDouble(leer);
        leer=JOptionPane.showInputDialog(null,"Seleccione tipo de cuenta\n\n1..Ahorro\n2..Corriente\n3..FAL\n4..Prestamo\nOPC:");
        opc=Integer.parseInt(leer); 
       
        switch(opc){
            case 1:
              interes=(saldo*0.10);
              numclientes1++;
              totalinteres+=interes;
              /*if(saldo>mayor){
                  mayor=saldo;
              }*/
              tipo="Ahorro";
                break;
            case 2:
                interes=(saldo*0.08);
                numclientes2++;
                totalinteres+=interes;
                tipo="Corriente";
                break;
            case 3:
                interes=(saldo*.12);
                numclientes3++;
                totalinteres+=interes;
                tipo="FAL";
               break;
            case 4:
                interes=0;
                numclientes4++;
                totalinteres+=interes;
                tipo="Prestamo";
                break;
               
        }
         newsaldo=(saldo+interes);
         saldointeres+=newsaldo;
         opc2=JOptionPane.showConfirmDialog(null," ¿Finalizo el ingreso de nuevos clientes? ",JOptionPane.YES_NO_OPTION);
        }while(opc2==1);
        JOptionPane.showMessageDialog(null,"Cliente: "+nombre+
                "\nCI: "+cd+
                "\nTipo cuenta: "+tipo+
                "\nInteres: "+interes+"BsF"+
                "\nSaldo actual "+saldo+" BsF"+
                "\nSaldo con intereses: "+newsaldo+" BsF");
       
         JOptionPane.showMessageDialog(null,"Total Clientes por c/cuenta: "+
                "\nAhorro: "+numclientes1+
                "\nCorriente: "+numclientes2+
                "\nFAL: "+numclientes3+
                "\nPrestamo "+numclientes4+
                "\nTotal intereses en BsF: "+totalinteres+" BsF"+
                "\nTotal saldos nuevos: "+saldointeres+" BsF");
       
       
    }
}

#13
Programación C/C++ / No compila
11 Junio 2013, 20:03 PM
El siguiente programa emula un radar usando el modo grafico de c, pero no compila

#include<stdio.h>
#include<conio.h>
#include<dos.h>
#pregma comment(lib,"winBGI.lib)
main(){
       int i, j;
       setcolor(getmaxcolor());
       rectangule(0,0,639,479);
       circle(320,240,235);
        circle(320,240,190);
        circle(320,240,135);
       
       line(0,240,640,240);
       line(320,0,320,480);
       
       for(j=0;j<320;j+=1){
        moveto(320,240); lineto(320+j,0);
        getch();
        setcolor(BLACK);
        moveto(320,240); lineto(320+j,0); getch();
        setcolor(WHITE);
        }
        for(j=0;j<239;j+=1){
        moveto(320,240); lineto(639,0+j);
        getch();
        setcolor(BLACK);
        moveto(320,240); lineto(639,0+j);
       setcolor(WHITE);
       getch();
       return 0;
       }
       closegraph();
       getch();
       return 0;
       }
       


Tambien lo he intentado agregando la libreria #include<winbgim.h>, sin embargo sigue sin compilar.

#14
El error se produce en la linea 11: void mostrarvendidos(int venta[][ncolumnas], int nfilas,int ncolumnas), paso las constantes nfilas y ncolumnas como parametro, es valido?

#include <stdlib.h>
#include <stdio.h>
#define ncolumnas 2
#difine nfilas 2
#define libre 0
#define ocupado 1

int menu();
void reservarboletos(int venta[][ncolumnas]);
void cancelarboletos(int venta[][ncolumnas]);
void mostrarvendidos(int venta[][ncolumnas], int nfilas,int ncolumnas);


int menu(){
    system("color 21");
    int resp;
    printf("\n\n");
    printf("\t *** \n");
    printf("\n 1 reservar boletos");
    printf("\n 2 cancelar boletos");
    printf("\n 3 mostrar boletos");
    printf("\n 4 salir");
    printf("\n Eleccion: ");
    scanf("%d",&resp);
    return resp;
}

void reservarboletos(int venta[][ncolumnas]){
     int fila=0,col=0;
     printf("\n Ingrese fila del asiento: "); scanf("%d",&fila);
     printf("\n Ingrese columna del asiento: "); scanf("%d",&col);
     if(venta[fila][col]==ocupado){
     printf("\n Asiento ocupado ");
     }
     else{
          venta[fila][col]==ocupado;
          printf("\n Asiento[%d][%d] reservado con exito",fila,col);
          }
          }
     
void cancelarboletos(int venta[][ncolumnas]){
     int fila=0,col=0;
     printf("\n Ingrese fila del asiento a cancelar: "); scanf("%d",&fila);
     printf("\n Ingrese columna del asiento a cancelar: "); scanf("%d",&col);
     if(venta[fila][col]!=ocupado){
     printf("\n Asiento no reservado");
     }
     else{
          venta[fila][col]=libre;
          printf("\n Asiento [%d][%d] ha sido cancelado",fila,col);
          }
          }
         
void mostrarvendidos(int venta[][ncolumnas]){
     for(int i=0;i<nfilas;i++){
      for(int j=0;j<ncolumnas;j++)
      if(venta[][ncolumnas]==ocupado){
        printf("\n Asiento[%d][%d]: Ocupado\n",i,j);
        }
        else{
             printf("\n Asiento[%d][%d]: Libre\n",i,j);
             }
       
        }
        }
     
         
main(){
       int puest=0;
       do{
       switch(menu()){
       case 1:
            if(puest<4){
            reservarboletos(venta);
            puest++;
            }
            else{
                 printf("\n Agotados los puestos");
                 }
            break;
       case 2:
            cancelarboletos(venta);
            break;
       case 3:
            mostrarvendidos(venta,nfilas,ncolumnas);
            break;
       case 4:
            printf("\n ***FIN***");
            break;
       }
       }while((resp>0)&&(resp<4));
       printf("\n\n");
       system("pause");
       }
       
#15
Programación C/C++ / No se eliminan nodos
21 Enero 2013, 15:58 PM
El programa compila bien pero en el punto donde se ingresa la cant de carros a eliminar y se invoca a la funcion pop, aparece un cuadro de dialogo que dice: se ha producido un problema, abajo el codigo:

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

typedef struct{
        char marca[15];
        int año;
        }tipocarro;
       
typedef struct estrunodo {
   tipocarro datos;
   struct estrunodo *siguiente;
} tipoNodo;

typedef tipoNodo *apunpila;
typedef tipoNodo *apunnodo;

void push(apunpila *tope,tipocarro b);
void pop(apunpila *tope,tipocarro *b);

main() {
   tipocarro carro;
   int i,cont=0,num;
   apunpila pila = NULL;
   
   while(cont<5){
   printf("\n Marca: ");
   scanf("%s",carro.marca);   
    printf("\n Año: ");
   scanf("%d",&carro.año);
   push(&pila,carro);
   cont++;
     }

printf("\n\n Carros a eliminar: ");
scanf("%d",&num);

   
   for(i=1;i<=num;i++){
      if (pila==NULL)
       printf("\n No hay carros");
       
      else{
       pop(&pila,&carro);
       printf("\n %s de %s\n",carro.marca,carro.año);
      }
   }                       
   printf("\n\n");
   system("pause");
   
}

void push(apunpila *tope,tipocarro b){
   apunnodo p;
   p = (apunnodo)malloc(sizeof(tipoNodo));
   p->datos = b;
   p->siguiente = *tope;
   *tope = p;
}

void pop(apunpila *tope,tipocarro *b){
   apunnodo p;
   p = *tope;
   *tope = p->siguiente;
   *b= p->datos;
   free(p);
}
#16
Debo generar primeramente dos valores aleatorios entre 0 y 1, si se genero 0 luego se debe generar otro numero aleatorio entre 0-9, si por el contrario se genero fue 1 luego se debe generar un numero aleatorio entre 0-5, pero siempre se generan los mismos numeros, a continuacion el codigo:

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

main(){
       int a,b,i;
       for(i=1;i<=12;i++){
       srand(time(NULL));
       a=rand()%2;
       printf("\n\n Valor aleatorio (0-1): %d",a);
       if(a==0){
       srand(time(NULL));
       b=rand()%10;
       printf("\n\n Valor aleatorio (0-9): %d",b);
       }
       else{
           srand(time(NULL));
           b=rand()%6;
           printf("\n\n Valor aleatorio (0-5): %d",b);
           }
             }
       printf("\n");
       system("pause");
       }
#17
El siguiente programa debe crear una lista de los primeros 100 numeros pares  y luego mostrar la suma total de todos los numeros, el problema es que no se esta imprmiendo nada en pantalla.

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

typedef struct punt{
        int dato;
        struct punt *sig;
        }nodo;
       
      typedef nodo *pt;
             
             
void insertar(pt *lista, int i);
void suma(pt *lista);
void mostrar(pt *lista);

       
main(){
      int i;
       pt lista=NULL;
         for(i=1;i<=200;i++){
       insertar(&lista,i);
       }
       suma(&lista);
       mostrar(&lista);
     
       system("pause");
       }
       
void insertar(pt *lista, int i){
   
     pt nuevo,ultimo;
     nuevo=(pt)malloc(sizeof(nodo));
                   
       do{     
            nuevo->dato=i;         
            if(*lista==NULL){
             nuevo->sig=NULL;
             *lista=nuevo;                     
             }
             else{
                  ultimo=*lista;
                  if(lista!=NULL){
                  while(ultimo->sig!=NULL){
                  ultimo=ultimo->sig;
                  }// cierre while
                  nuevo->sig=NULL;
                  ultimo->sig=nuevo;
                  }// cierre if
                  }// cierre else
              }while(i%2==0);
               
                    }// cierre funcion
                   
void suma(pt *lista){
     int total=0;
     pt aux;
     if(*lista!=NULL){
       aux=*lista;               
     do{
     total+=aux->dato;
     aux=aux->sig;
     }while(aux->sig!=NULL);
     }//cierre if
     printf("\n\n Total de la lista: %d",total);
     }//cierre funcion
     
void mostrar(pt *lista){
     pt aux=*lista;
     if(*lista!=NULL){
     while(aux!=NULL){
     printf("\n\n Valores pares : %d\t",aux->dato);
     aux=aux->sig;
     }//cierre while
     }//cierre if
     }//cierre funcion
     
#18
El problema esta en la funcion void mostrar(); la cual se encarga de imprimir todos los datos almacenados en 2 archivos llamados "trabajadores.dat" y "salario.dat", pero se me imprimen de manera infinita codigos ilegibles, he chequeado muchas veces la funcion y no encuentro el error.

#include<stdio.h>
#include<conio.h>
#include<ctype.h>

typedef struct {
        int clave;
        char nombre[35];
        char categoria;
        }ttrabajador;
       
typedef struct{
        char categoria;
        int salario;
        }tcategoria;
       
void crear();
void salario();
void mostrar();

main(){
       crear();
       salario();
       mostrar();
       }
       
void crear(){
       FILE *p1;
       ttrabajador nuevo;
       int i;
       p1=fopen("trabajadores.dat","wb+");
       if(p1==NULL){
       printf("\n error");
       }
       printf("\n comienza la carga de registro de trabajadores");
       printf("\n___________________________________________\n");
       for(i=1;i<4;i++){
        printf("\n clave: %d",i);
        nuevo.clave=i;
        printf("\n nombre: ");
        gets(nuevo.nombre);
        fflush(stdin);
        do{
          printf("\n categoria (A-D): ");
          scanf("%c",&nuevo.categoria);
          fflush(stdin);
          nuevo.categoria=toupper(nuevo.categoria);
          }while(nuevo.categoria<'A'||nuevo.categoria>'D');
          fseek(p1,sizeof(ttrabajador)*(i-1),SEEK_SET);
          fwrite(&nuevo,sizeof(ttrabajador),1,p1);
          }
         
       printf("\n");
       printf("\n Listado del archivo recien creado");
       for(i=1;i<4;i++){
       fseek(p1,sizeof(ttrabajador)*(i-1),SEEK_SET);
       fread(&nuevo,sizeof(ttrabajador),1,p1);
       printf("\n clave: %d",nuevo.clave);
       printf("\n nombre: %s", nuevo.nombre);
       printf("\n categoria:%c",nuevo.categoria);
       printf("\n______________________________\n");
       getch();
       }
       fclose(p1);
       getch();
       }

void salario(){
     FILE *p2;
     tcategoria ficha;
     int i=0;
     char categoria;
     p2=fopen("salario.dat","wb+");
     
     while(i<4){
      ficha.categoria='0';
      ficha.salario=0;
      fwrite(&ficha,sizeof(tcategoria),1,p2);
      i++;
      }
      rewind(p2);
      printf("\n\n");
      do{
       fflush(stdin);
           do{
             printf("\n Introduce categoria(A-D)/0(cero) para fin: ");
             scanf("%c",&categoria);
             categoria=toupper(categoria);
             fflush(stdin);
             }while((categoria!='0')&&(categoria<'A'||categoria>'D'));
             if(categoria!='0'){
             fseek(p2,sizeof(tcategoria)*(categoria-65),SEEK_SET);
             fread(&ficha,sizeof(tcategoria),1,p2);
             if(ficha.categoria!='0'){
             printf("\n categoria ya introducida");
             }
             else{
             ficha.categoria=categoria;
             printf("\n Introduce sueldo: ");
             scanf("%d",&ficha.salario);
             fflush(stdin);
             fseek(p2,sizeof(tcategoria)*(categoria-65),SEEK_SET);
             fwrite(&ficha,sizeof(tcategoria),1,p2);
             }
               }
                 }while(categoria!='0');
                 
           printf("\n\n");
           printf(" Listado del archivo salario");
           for(i=0;i<4;i++){
           fseek(p2,sizeof(tcategoria)*(i),SEEK_SET);
           fread(&ficha,sizeof(tcategoria),1,p2);
           printf("\n categoria: %c",ficha.categoria);
           printf("\n sueldo: %d",ficha.salario);
           }
           fclose(p2);
           getch();
           }
           
    void mostrar(){
         
         FILE *p1;
         FILE *p2;
         ttrabajador ficha1;
         tcategoria ficha2;
         int clave;
         
    p1=fopen("trabajadores.dat","rb+");
    p2=fopen("salario.dat","rb+");
   
    if(p1==NULL){
    printf("\n No se puede abrir trabajadores.dat");
               }
                 else{
                      if(p2==NULL){
                      printf("\n no se puede abrir salario.dat");
                      }
                      else
                      {
                   printf("\n\n Clave     nombre     categoria     salario");
                   printf("\n********************************************\n");
                   fread(&ficha1,sizeof(ttrabajador),1,p1);
                   while(!feof(p1)){
                   printf("%-4d",ficha1.clave);
                   printf("%20s",ficha1.nombre);
                   printf("%10c",ficha1.categoria);
                   fseek(p2,sizeof(tcategoria)*(ficha1.categoria-65),SEEK_SET);
                   fread(&ficha2,sizeof(tcategoria),1,p2);
                   printf("%15d",ficha2.salario);
                   }
                   fclose(p1);
                   fclose(p2);
                   }
                      }
                        getch();
                           }
                   
#19
Programación C/C++ / Instruccion if
22 Octubre 2012, 13:58 PM
Este codigo debe buscar el numero mayor de un array de punteros mostrar su valor y posicion, pero en la instruccion IF me da error

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

int main()
{
  int *array[10];
 
  for(int i=0; i<10; i++)
  {
    printf(" \n Ingrese valor de array[%d]:  ",i); scanf("%d", (array+i));
  }

  int may=0, pos = 0;
  for(int i=0; i<10; i++)
    if (*(array+i) > may)
    {
      may = *(array+i);
      pos = i;
    }
   
for(int i=0; i<10; i++)
  {
    printf(" \n valor posicion array[%d]= %d ", i, *(array+i));
  }
 
  printf(" \n El valor mayor es: %d , en la pos array[i]", may, pos);
  printf("\n\n);
  system("pause");
}

#20
El siguiente codigo se encarga de buscar el numero mayor de un array de enteros, luego al final cuando se muestra la posicion de origen donde se ubico ese valor, no es el correcto, y aqui el codigo:

Código (cpp) [Seleccionar]
#include<stdio.h>           
#include<stdlib.h>
#include<iostream>
using namespace std;

main(){
       int tem=0,may=0,pos=0,i,j,array[9];
        for(i=0;i<10;i++){
        cout<<"\n ingrese valor de array["<<i<<"]= ";
        cin>>*(array+i);
        }
        for(i=0;i<9;i++){
         for(j=i+1;j<10;j++){
          if(*(array+i)>*(array+j)){
              pos=i;                     
           tem=*(array+i);           /*intercambio*/
           *(array+i)=*(array+j);                       
          *(array+j)=tem;
          may=tem;                         /* asignacion */
          }
          else
          pos=j;
          may=*(array+j);
         
           }
             }
          cout<<"\n Valor mayor= "<<may<<" En la posicion array["<<pos<<"]";
         
          cout<<"\n\n";
          system("pause");
          }
#21
Este programa no esta terminado solo quiero que me aclaren si al acceder a cada struct en este caso seccion1, seccion2, seccion3, debo declarar un puntero por cada struct o puedo utilizar un puntero general supongamos *pt?

struct { struct seccion1;
         struct seccion2;
         struct seccion3;
         } secciones, *p1=&secciones,*p2=secciones,*p3=secciones;
         
struct { char asignatura1;
         char asignatura2;
         char asignatura3;
         char asignatura4;
         char asignatura5;
         } seccion1,seccion2,seccion3,

main(){
       
       struct *p1,*p2,*p3,*cat;
       int opc,n;
       
       p1=(secciones*)malloc(sizeof(secciones));
       p2=(secciones*)malloc(sizeof(secciones));
       p3=(secciones*)malloc(sizeof(secciones));
     
int menu(){
       cout<<"\n MENU \n";
       cout<<"1..Ingreso sección 1 (5 materias)\n";
       cout<<"2..Ingreso sección 2 (4 materias)\n";
       cout<<"3..Ingreso sección 3 (2 materias)\n";
       cout<<"4..Volver al menu \n";
       cout<<"5..salir\n";
       cin>>opc;
       return(opc);
       }
       
       switch (menu()):
       case 1:
       ingreso(p1->secciones.seccion1,&n=5);
       break;
       case 2:
       ingreso(p2->secciones.seccion2,&n=4);
       break;
       case 3:
       ingreso(p3->secciones.seccion3,&n=2);
       break;
       case 4:
       menu();
       break;
       default:
       break;
       }
       
void ingreso(struct p1->secciones.seccion1,int *cat){

if(*cat>0){
cout<<"\n Ingrese asignatura 1: "; cin>>p1->secciones.seccion1.asignatura1;
cout<<"\n Ingrese asignatura 2: "; cin>>p1->secciones.seccion1.asignatura2;

if(*cat<=2){
cout<<"\n Ingrese asignatura 3: "; cin>>p1->secciones.seccion2.asignatura3;
cout<<"\n Ingrese asignatura 4: "; cin>>p1->secciones.seccion2.asignatura4;
}
if(*cat<=5){
cout<<"\n Ingrese asignatura 5: "; cin>>p1->secciones.seccion1.asignatura5;
}
}

#22
Deseo que el usuario introduzca una cadena y luego sea impresa al inverso, el problema es que el compilador me indica el siguiente error : 28  invalid conversion from `int' to `char*' y ademas en algunas ocasiones me salta a otro codigo fuente de instrucciones desconocidas.

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

char invertir(char cad[80]);
int i,tam,nuevo[80];
main(){
       
       char cad[80];
       printf("Ingrese tamaño de la cadena (maximo 80 caracteres) : ");
       scanf("%d",&tam);
       
       printf("\n Ingrese cadena: ");
       
       for(i=0;i<tam;i++){
        scanf("%d",&cad);
       }
       
       printf("\n Cadena inversa: ");
       printf("%s",invertir(cad));
       printf("\n\n");
       system("pause");
       }
       
       char invertir(char cad[]){
            do{
             for(i=tam-1;i<=0;i++){             
            strcpy(nuevo,cad);
            return (nuevo);
            }while((getchar(cad))!=NULL)
                                   
            }
              }
           
#23
Deseo transferir array[3][6] a cada una de las funciones descritas en el programa, pero en la primera funcion llamada llenar el compilador me indica `array' undeclared (first use this function), hay error o falta algo?, soy novata.

#include<stdio.h>
#include<iostream>
using namespace std;

void llenar(int array[3][6]);
void imprimir(int array[3][6]);
void suma(int array[3][6],int array2[3][3],int n,int h);
int i,j;
main(){
       
 
        llenar(array);
        imprimir(array);
        suma(array,array2);
        system("pause");
        }
 
       
       void llenar(int array[][6]){
       for(i=1;i<=3;i++){
        for(j=1;j<=6;j++){
         printf("\n valor posicion [%d][%d]=",i,j);
         scanf("%d",&array[j]);
         }
          }
           }
         
         void imprimir(int array[][6]){
         for(i=1;i<=3;i++){
        for(j=1;j<=6;j++){
         printf("\n posicion[%d][%d]=%d",i,j,array[j]);
         }
           }
             }
         
         void suma(int array[][], int array2[][],int n,int h){
       
         for(i=1;i<=3;i++){
          n=1,h=0;                 
        for(j=1;j<=3;j++){
         array2[j]=array[j+h]+array[j+n];
         n++;
         h++;
         }
           }
         imprimir(array2);
       }
#24
#include<iostream>
#include<string.h>

using namespace std;
int n,i,fact;
int factorial( int n );
main (){

cout<<"ingrese numero:"<<endl;
cin>>n;
if(n<1){
cout<<"ERROR, intente de nuevo"<<endl;
}
else
cout<<"\n factorial:"<<factorial(n)<<"\n"<<endl;
system("pause");
}

int factorial(int n){
int fact=1;
for(n;n>=1;n--)
{
fact=fact*n;
}
return(fact);
}
#25
#include <stdio.h>
#include <iostream>
using namespace std;

char oracion[]="hola!";
char nuevo[100];
int i=0;
FILE *pt;

main(){
       
      pt=fopen("mio.txt","w+");/*creo el fichero*/
       fprintf(pt,"%s",oracion);
       fclose(pt);

       pt=fopen("mio.txt","r");/*transfiero los datos del array al fichero*/
       for(i=0;!feof(pt);i++){
       fscanf(pt,"%s",&nuevo);
       fclose(pt);
       }

       pt=fopen("mio.txt","r");/*transfiero datos del fichero a un nuevo array y aca esta el problema*/
      while(i!=feof(pt)){
       printf("/n cadena:%s",nuevo);
       i++;
       }
      fclose(pt);
      system("pause");
      }
       
nota:Soy nueva en el mundo de la programacion.